Jump to content

    

Search the Community

Showing results for tags 'iar'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Сайт и форум
    • Новости и обсуждения сайта и форума
    • Другие известные форумы и сайты по электронике
    • В помощь начинающему
    • International Forum
    • Образование в области электроники
    • Обучающие видео-материалы и обмен опытом
  • Cистемный уровень проектирования
    • Вопросы системного уровня проектирования
    • Математика и Физика
    • Операционные системы
    • Документация
    • Системы CAD/CAM/CAE/PLM
    • Разработка цифровых, аналоговых, аналого-цифровых ИС
    • Электробезопасность и ЭМС
    • Управление проектами
    • Neural networks and machine learning (NN/ML)
  • Программируемая логика ПЛИС (FPGA,CPLD, PLD)
    • Среды разработки - обсуждаем САПРы
    • Работаем с ПЛИС, области применения, выбор
    • Языки проектирования на ПЛИС (FPGA)
    • Системы на ПЛИС - System on a Programmable Chip (SoPC)
  • Цифровая обработка сигналов - ЦОС (DSP)
    • Сигнальные процессоры и их программирование - DSP
    • Алгоритмы ЦОС (DSP)
  • Микроконтроллеры (MCs)
    • Cредства разработки для МК
    • ARM
    • AVR
    • MSP430
    • Все остальные микроконтроллеры
    • Отладочные платы
  • Печатные платы (PCB)
    • Разрабатываем ПП в САПР - PCB development
    • Работаем с трассировкой
    • Изготовление ПП - PCB manufacturing
  • Сборка РЭУ
  • Аналоговая и цифровая техника, прикладная электроника
  • Силовая Электроника - Power Electronics
  • Интерфейсы
  • Поставщики компонентов для электроники
  • Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир
  • Дополнительные разделы - Additional sections

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


Город


Код проверки


skype


Facebook


Vkontakte


LinkedIn


Twitter


G+


Одноклассники

Found 5 results

  1. Имеется МК на Cortex-M4, подключенный к IAR через ST-Link. Хочется запустить в его ОЗУ своё приложение не трогая прошивку во флешь. Создал проект, слинковал его в ОЗУ данного МК. Если теперь загрузить этот проект на исполнение в МК, то он нормально грузится, но начальное содержимое PC и SP берётся из той области, которая указана как загрузочная в данный момент при помощи BOOT-пина. Таковых областей может быть две: 1)флешь программ, 2)системная ROM. Т.е. - PC:SP берутся из начала этих областей. Мне же нужно, чтобы после загрузки программы через ST-Link в МК, начальное содержимое PC:SP бралось из таблицы векторов из начала ОЗУ. В МК есть возможность старта из ОЗУ, но для этого нужно установить в требуемое положение бит BOOT1 (это не пин, а бит во флешь). Сейчас этот бит стоит в таком положении, что выбирается старт из system-ROM. Как, не меняя этого бита во флешь, и не меняя флешь вообще, выставить PC:SP как надо? Я создал .mac-файл и делаю ремап ОЗУ на адрес 0 и заношу в VTOR начало моей таблицы векторов в начале ОЗУ. Так: Память нормально ремапится, таблица векторов - тоже. Но на PC:SP это не влияет. И если сейчас нажать F5, то исполняться пойдёт код из Flash или system-ROM (в зависимости от BOOT0-пина). Как изменить регистры CPU макросами? - я что-то не нашёл в доках. Можно конечно руками менять, но это неудобно при каждой загрузке делать это. Пробовал делать в execUserReset() после __RemapSRAM1(): __writeMemory32(0x05FA0001, 0xE000ED0C, "Memory"); //activate reset irq (NVIC.AIRCR=0x5FA0001); Но тогда выполнение кода стартует сразу же после загрузки (стартует правильно - мой загруженный в ОЗУ код). Но как сделать, чтобы регистры поменялись, но выполнение не стартовало???
  2. Исключение секции сделал так: Настройки присутствуют в файле const S_flash_GlobalSettingAllVar Flash_default_Settings@".FlashDefault"=.... Настройки отсутствуют в файле __no_init S_flash_GlobalSettingAllVar Flash_default_Settings@".FlashDefault"; Дальше хотел сделать разные конфигурации проекта, и запускать тот или другой вариант, но это оказывается не очень удобно, так как при измени одной конфигурации приходиться изменять и другую. Как это можно сделть по другому ? Вообще мне надо 2 hex файла один который содержит настройки, и второй без секции настроек. (хотел последовательно запускать iarbuild.exe с разной конфигурацией,но до этого пока не дошел)
  3. Доброго дня, Коллеги, подскажите, пожалуйста, можно ли настроить IAR так, чтобы при запуске Make из IDE обрабатывались только объектные или изменённые файлы? Задача выглядит так: Есть несколько исходных файлов, которые нужно скрыть от заказчика (договором это предусмотрено). Соответственно, видится вариантом передача ему проекта с частью "нескрытых" исходников и со всеми объектными файлами. В той части, которая не скрыта от заказчика, последний может менять всё что захочет. Та же часть, которая должна быть скрыта, не имеет зависимостей от первой, и при сборке будет подключаться лишь как объектные файлы. Сейчас если я удаляю такой файл, подлежащий "скрытию", то компилятор выдаёт ошибки несмотря на то, что объектники все есть. Спасибо!
  4. Добрый день. Имеем STM32L1 семейства. Столкнулся со странностью оптимизатора IAR, или что то недопонимаю сам. Имеем следующие структуры typedef __packed struct { uint32_t ID; uint16_t VERS; uint32_t UID; uint32_t DeviceType; uint32_t DeviceNumber; uint32_t CreateTime; uint32_t ExpireTime; } tagExpireKey; typedef __packed struct { uint8_t G[10]; } tagExpireKeyCrypt; typedef __packed struct { tagExpireKey Data; tagExpireKeyCrypt Crypt; uint32_t ControlCRC; } tagExpireKeyDevice; глобальную переменную этого типа tagExpireKeyDevice License; Переменная License загружается выше по тексту программы. Данные в полях всех структур корректные. Далее в тексте программы выполняются 2 проверки: uint32_t CurTime; CurTime = FRTC.GetSeconds(); for (;;) { ... if (CurTime < LicenseCUR.Data.CreateTime) break; if (CurTime > LicenseCUR.Data.ExpireTime) break; ... } что в asm выглядит следующим образом \ ??DataTable1_2: \ 00000000 0x........ DC32 LicenseCUR \ ??DataTable1_4: \ 00000000 0x........ DC32 FRTC ... \ 00000004 0x.... LDR.N R5,??DataTable1_2 ... 83 CurTime = FRTC.GetSeconds(); \ 00000020 0x.... LDR.N R6,??DataTable1_4 \ 00000028 0x4630 MOV R0,R6 \ 0000002A 0x.... 0x.... BL _ZN4TRTC10GetSecondsEv ... 95 if (CurTime < LicenseCUR.Data.CreateTime) break; \ 0000002E 0xF8D5 0x1012 LDR R1,[R5, #+18] \ 00000032 0x4288 CMP R0,R1 \ 00000034 0xBF24 ITT CS \ 00000036 0xF8D5 0x1016 LDRCS R1,[R5, #+22] \ 0000003A 0x4281 CMPCS R1,R0 99 if (CurTime > LicenseCUR.Data.ExpireTime) break; \ 0000003C 0xD303 BCC.N ??CheckCurLicense_0 проходя в отладчике этот кусок кода, увидел что при первом сравнении в R1 при выполнении LDR R1,[R5, #+18] была выполнена загрузка значения поля LicenseCUR.Data.CreateTime и условие программы было выполнено, а вот при выполнении LDRCS R1,[R5, #+22] значение поля LicenseCUR.Data.ExpireTime в R1 не загружается. если изменить текст программы как asm("nop"); if (CurTime < LicenseCUR.Data.CreateTime) break; asm("nop"); if (CurTime > LicenseCUR.Data.ExpireTime) break; получаем следующий корректно работающий листинг: 94 asm("nop"); \ 0000002E 0xBF00 nop 95 if (CurTime < LicenseCUR.Data.CreateTime) break; \ 00000030 0xF8D5 0x1012 LDR R1,[R5, #+18] \ 00000034 0x4288 CMP R0,R1 \ 00000036 0xD308 BCC.N ??CheckCurLicense_0 96 97 asm("nop"); \ 00000038 0xBF00 nop 98 // время лицензии закончилось 99 if (CurTime > LicenseCUR.Data.ExpireTime) break; \ 0000003A 0xF8D5 0x1016 LDR R1,[R5, #+22] \ 0000003E 0x4281 CMP R1,R0 \ 00000040 0xD303 BCC.N ??CheckCurLicense_0 т.е. вставлен nop, который сбрасывает очередь, если не путаю ничего и компилятор сделал обе загрузки через LDR R1,[R5, #+18] LDR R1,[R5, #+22] в чем моя, или не моя, ошибка? то что инструкция <ITT CS> и далее <LDRCS> не верно работают с упакованными структурами или что то другое? спасибо. p.s. Если модераторы посчитают необходимым - можно перенести тему в ARM форум. Не стал дублировать сообщения.
  5. Решил по пробовать с++ на stm32, но наткнулся на то что он ругается на constexpr Error[Pe020]: identifier "constexpr" is undefined IAR вообше подеживает ? Какой версии ? Я пробовал на 7.50