为什么stm32中不能定义unsigned char code
时间: 2023-06-19 22:07:06 浏览: 456
STM32中如何使用printf()函数?
在STM32中,不能直接定义unsigned char code,这是因为代码存储器和数据存储器在STM32中是分开的,代码存储器中存储的是程序代码,数据存储器中存储的是数据。为了使代码和数据存储器之间的访问更高效,STM32使用了不同的编译器指令来将代码和数据存储在不同的存储器中。
因此,如果你想将某些数据存储在代码存储器中,你可以使用特殊的编译器指令,例如__attribute__((section(".my_section"))), 来告诉编译器将该数据存储在指定的代码存储器段(.my_section)中。在使用时,你需要注意不要在代码中修改这些数据,否则会导致未知的行为。
阅读全文