ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
1335221 Топик полностью
Vit (30.07.2023 15:53, просмотров: 211) ответил IBAH на МК под рукой нет. Попробовал статический анализ все ок. Может я недостаточно точно выразился: ИАР компилирует проект с файлами под STM32F107 как КортексМ3 (не работает, ХардФалаут), а Кейл компилирует проект с файлами под STM32F107 как GD32F107(все работает). Что отличает GD32F107 от стандартного Кортекса?
на днях лечил в проекте на Keil для Nuvoton M2354 (Cortex-M23) улеты в hardfault, проявившиеся при ненулевом уровне оптимизации. не стеснялся, с отладчиком поглядел, адреса нечетные увидел, вспомнил, что низзя так. правда лень было затягивать cmsis_compiler.h для использования богомерзкого __ALIGNED(x) (не одним Keil пользуюсь) - тупо виновников, которые массивы uint8_t и проталкивались в функцию через void* и приводились там к чему-ни-попадя, связал в union-ы c массивами 

uint32_t. а в Corteх-M23, в отличие от CM3/4 (кусочек был затянут кажись с M3), вааще не предполагается невыровнянного доступа. на Keil не обижался:)

https://developer.arm.com/documentation/dui1095/a/The-Cortex-M23-Instruction-Set/About-the-instruction-descriptions/Address-alignment