-
- на днях лечил в проекте на Keil для Nuvoton M2354 (Cortex-M23)
улеты в hardfault, проявившиеся при ненулевом уровне оптимизации.
не стеснялся, с отладчиком поглядел, адреса нечетные увидел,
вспомнил, что низзя так. правда лень было затягивать
cmsis_compiler.h для использования богомерзкого __ALIGNED(x) (не
одним Keil пользуюсь) - тупо виновников, которые массивы uint8_t и
проталкивались в функцию через void* и приводились там к
чему-ни-попадя, связал в union-ы c массивами Vit(150 знак., 30.07.2023 15:53, ссылка)
- Ну если void* приводился к char* на М0, то на компилятор странно
обижаться. Хотя об М23 я был лучшего мнения. - Andreas(30.07.2023 19:24)
- Приводить void* к char* вполне кошерно и даже халяльно. Вот
наоборот - может выстрелить неожиданно. - LightElf(30.07.2023 20:04)
- просто к хорошему быстро привыкают... а плохому быстро учатся:) - Vit(30.07.2023 20:43)
- Хм, возможно. После тестирования разных сортов медовухи могу и перепутать )) - Andreas(30.07.2023 20:10)
- Приводить void* к char* вполне кошерно и даже халяльно. Вот
наоборот - может выстрелить неожиданно. - LightElf(30.07.2023 20:04)
- Ну если void* приводился к char* на М0, то на компилятор странно
обижаться. Хотя об М23 я был лучшего мнения. - Andreas(30.07.2023 19:24)
- на днях лечил в проекте на Keil для Nuvoton M2354 (Cortex-M23)
улеты в hardfault, проявившиеся при ненулевом уровне оптимизации.
не стеснялся, с отладчиком поглядел, адреса нечетные увидел,
вспомнил, что низзя так. правда лень было затягивать
cmsis_compiler.h для использования богомерзкого __ALIGNED(x) (не
одним Keil пользуюсь) - тупо виновников, которые массивы uint8_t и
проталкивались в функцию через void* и приводились там к
чему-ни-попадя, связал в union-ы c массивами Vit(150 знак., 30.07.2023 15:53, ссылка)