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

vit496

Участник*
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о vit496

  • Звание
    Участник
    Участник
  • День рождения 27.03.1969

Информация

  • Город
    Array

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

1 515 просмотров профиля
  1. Вроде для NB-IoT специальный тариф должен быть. Тариф от смартфона точно не пойдет. Без карточки или с карточкой не для NB-IOT выдает +CSQ 99,99
  2. А тот источник, что 12В, он нормальной мощности?
  3. Я видел статью, пробовал менять, но никаких изменений, как у автора, не заметил.
  4. А зачем его устанавливать? Я нигде в примерах от GD не видел использование этого бита.
  5. Как сказать модему, чтобы остановил этот поток, поделитесь пожалуйста.
  6. Непонятна ваша фраза. Это данные от модема на пине TX. Остановить их можно подняв CTS
  7. открыли html страничку используя TCP стек модема и получили поток данных +RECEIVE,3,1348: ..... data .... +RECEIVE,3,1400: ..... data .... +RECEIVE,3,803: ..... data ....
  8. да как-то не было проблем. Делаю так *.icf: define region sect_region = mem:[from 0x08070000 to 0x08077FFF]; place in sect_region { section sect }; *.c: #define fix_rom _Pragma("location=\"sect\"") fix_rom const uint8_t arr[] = { .... }; читать uint32_t x = *(volatile uint32_t*) 0x08070000;
  9. А как вы собираетесь изменять значения, после того, как удастся разместить во FLASH? Вроде как не даст компилятор такое сделать? calInfo.general.calibrated = 1
  10. Да, с нулем конечно неудачный пример. uint32_t arr[] = { 1, 2, 3, 4 } - разместит во FLASH 1,2,3,4, при инициализации переложит в ОЗУ.
  11. const uint32_t a = 0; - разместит во FLASH uint32_t b = 0; - разместит во FLASH, при инициализации переложит в ОЗУ Вы хотите заставить компилятор разместить изменяемую переменную во FLASH. Вряд ли это получится. uint32_t x = *(__IO uint32_t*) 0x08001000;
  12. Методом проб и ошибок и файла EWARM_DevelopmentGuide.ENU.pdf вроде получилось сделать. В .icf файл нужно добавить две секции - откуда и куда будет копирование. Название секции во Flash, из которой будет происходить копирование, должно отличаться суффиксом "_init" define region sect_i_region = mem:[from 0x08070000 to 0x08077FFF]; place in sect_i_region { section sect_init }; define region sect_region = mem:[from 0x20020000 to 0x20027FFF]; place in sect_region { section sect }; initialize manually { section sect }; В коде нужно добавить функцию копирования: #pragma section = "sect" #pragma section = "sect_init" void DoInit() { char * from = __section_begin("sect_init"); char * to = __section_begin("sect"); memcpy(to, from, __section_size("sect")); } void main () { DoInit(); .... } #define slowrom _Pragma("location=\"sect\"") slowrom void some_func () { .... } slowrom const uint8_t str[] = "xxxxx"; Теперь, для всех функций и констант, при объявлении которых будет указано slowrom, будет применено копирование согласно заданным секциям.
×
×
  • Создать...