北京建设监理协会网站,wordpress 重置id,全国十大家装公司排名,建筑企业查询__attribute__( at(绝对地址) )的作用分两个#xff0c;一个是绝对定位到Flash#xff0c;另个一是绝对定位到RAM。 1、定位到flash中#xff0c;一般用于固化的信息#xff0c;如出厂设置的参数#xff0c;上位机配置的参数#xff0c;ID卡的ID号#xff0c;flash标记等…__attribute__( at(绝对地址) )的作用分两个一个是绝对定位到Flash另个一是绝对定位到RAM。 1、定位到flash中一般用于固化的信息如出厂设置的参数上位机配置的参数ID卡的ID号flash标记等等。 1 const u16 gFlashDefValue[512] __attribute__((at(0x0800F000))) {0x1111,0x1111,0x1111,0x0111,0x0111,0x0111};//定位在flash中,其他flash补充为00
2
3 const u16 gflashdata__attribute__((at(0x0800F000))) 0xFFFF; 2、定位到RAM中一般用于数据量比较大的缓存如串口的接收缓存再就是某个位置的特定变量 1 u8 USART2_RX_BUF[USART2_REC_LEN] __attribute__ ((at(0X20001000)));//接收缓冲,最大USART_REC_LEN个字节,起始地址为0X20001000. 注意 1、绝对定位不能在函数中定义局部变量是定义在栈区的栈区由MDK自动分配、释放不能定义为绝对地址只能放在函数外定义。 2、定义的长度不能超过栈或Flash的大小否则造成栈、Flash溢出。 转自https://www.cnblogs.com/xyelectric/p/9046048.html 转载于:https://www.cnblogs.com/leo0621/p/9977752.html