Перейти к содержанию

    

Метценгерштейн

Свой
  • Публикаций

    1 360
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Метценгерштейн

  • Звание
    Профессионал
  • День рождения 07.05.1978

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Петербург

Посетители профиля

4 605 просмотров профиля
  1. 2018 Вопросы начинающих

    Решил проблему. Спасибо. Были цепи не подписаны земляные.
  2. 2018 Вопросы начинающих

    Спасибо. Можно немного подробней? netlabel- это подпись шины? Когда ярлык на проводник ставим? А как его достать через schlist?
  3. 2018 Вопросы начинающих

    Подскажите пож-ста. При передаче схемы в ПП, возникает ошибка. Не могу понять что это и что с ней делать?
  4. передача в ф-ю адреса массива (+)

    у чипа nRF52 512 флеша. Камень, соответственно, тот же остался. Но проект бутлоадера (его пилю) был ограничен стартом адреса и размером. Его и увеличил. Я вклячил файл aes.c туда и он банально не влазил в отведенную область. Просто не сталкивался с таким, поэтому потерялся. Сейчас все работает. Всем еще раз спасибо.
  5. передача в ф-ю адреса массива (+)

    Вы были правы. Достаточно было увеличить память под прошивку, чтобы впихнуть новый файл aes.c и проблема линковщика ушла. Все заработало. Всем спасибо за консультации.
  6. передача в ф-ю адреса массива (+)

    И как выйти из положения можно? Увеличить чего-нибудь? Или просто сам код написан так, что рекурсия получилось и вызывается как матрешка друг за другом?
  7. передача в ф-ю адреса массива (+)

    Да понятно) Спасибо за помощь. Отпишусь тут - что получилось в результате. По мне, так странно. Я же не прошу его впихивать весь блок. Я прошу его по 16 байт заменить один кусок кода другим.
  8. передача в ф-ю адреса массива (+)

    Из прошлого сообщения была ругань компилятора. Сейчас ругается так: Линковщик? Дело в том, что на прошлом SDK я такой финт проделывал(с передачей в ф-ю эту источника и выходного массива, куда писать данные одного массива)- все работало. Т.е. ф-я работоспособна в таком виде.
  9. передача в ф-ю адреса массива (+)

    const- это я и закомментил. Не работает. Ругается уже на линковщике. Может я не так смещение делаю? Задача в ф-ю шифрования по 16 байт подавать. for (int i = 0; i < p_req->write.len; i+=16) { AES128_ECB_decrypt ((uint8_t *)p_req->write.p_data + i, key, (uint8_t *)p_req->write.p_data + i); } Ругань что не хватает места (125 ошибок)
  10. передача в ф-ю адреса массива (+)

    typedef struct { uint8_t /*const*/ * p_data; //!< Data. uint16_t len; //!< Length of data in @ref nrf_dfu_request_write_t::p_data. } nrf_dfu_request_write_t; Это структура write. Она структура в структуре
  11. передача в ф-ю адреса массива (+)

    Тоже так хотел, но уже сомневаться начал, т.к. ругается компилер. Вот вызываю ф-ю и передаю параметры: А сама ф-я принимающая: void AES128_ECB_decrypt(uint8_t* input, const uint8_t* key, uint8_t *output) {} Т.е. должен просто принять указатель на массив. Кстати, правильно, что ругается, т.к. p_req->write.p_data- это уже и есть указатель и указатель на указатель- глупо.
  12. передача в ф-ю адреса массива (+)

    Немного торможу. Ф-я принимает адрес массива. Надо передать адрес. p_req->write.p_data это я изначально указатель разыменовываю и работаю со значением по полю структуры. А как адрес передать этой p.data? А если еще и смещение надо передать +16, например? &p_req->write.p_data ?
  13. указатель на указатель

    Спасибо. Упустил из вида момент, что ble_advdata_tk_value_t *oob_key; это просто объявление переменной, но она непроинициализирована. А здесь err_code = nfc_tk_value_get(&oob_key); мы просто передаем адрес (0х1000) этой переменной. Как обычно. а вот здесь зачем указатель на указатель? ret_code_t nfc_tk_value_get(ble_advdata_tk_value_t ** pp_tk_value) Разве не достаточно было так: ret_code_t nfc_tk_value_get(ble_advdata_tk_value_t * pp_tk_value) { pp_tk_value = &m_device_tk; } Давайте аналогию приведем. int a; int *p; p = &a;
  14. указатель на указатель

    Спасибо. Упустил из вида момент, что ble_advdata_tk_value_t *oob_key; это просто объявление переменной, но она непроинициализирована. А здесь err_code = nfc_tk_value_get(&oob_key); мы просто передаем адрес (0х1000) этой переменной. Как обычно.
  15. указатель на указатель

    Arlleex, спасибо за подробное изложение. Прошлись по основам. Подвели все к общему знаменателю. Могли бы в том же духе первый пост разложить? Именно оригинальный пример из кода.