在线时间50 小时
UID3398043
注册时间2017-6-27
NXP金币0
TA的每日心情 | 开心 2020-8-5 09:59 |
---|
签到天数: 80 天 连续签到: 1 天 [LV.6]常住居民II
中级会员
 
- 积分
- 498
- 最后登录
- 2020-9-3
|

楼主 |
发表于 2017-12-21 17:37:45
|
显示全部楼层
本帖最后由 ,忆昔颜 于 2017-12-21 17:39 编辑
我把我的flash函数都放在0X1FFFF000开始的地址,我是这么放进去的:
__attribute__ ((section (".paraconfig"))) uint16_t FLASH_Init_Api(FLASH_SSD_CONFIG* flash_struct);
__attribute__ ((section (".paraconfig"))) uint16_t FLASH_Erase_Api(FLASH_SSD_CONFIG* flash_struct);
__attribute__ ((section (".paraconfig"))) uint16_t FLASH_Write_Api(FLASH_SSD_CONFIG* flash_struct);
__attribute__ ((section (".paraconfig"))) uint16_t FLASH_Protect_Api(FLASH_SSD_CONFIG* flash_struct);
__attribute__ ((section (".paraconfig"))) uint16_t FLASH_Read(uint32_t Address, uint8_t *pData, uint16_t sizeBytes);
现在我想通过地址去让这些函数运行,这些函数在map中的大小是:
*(.paraconfig)
.paraconfig 0x1ffff000 0x99c ./Sources/flash1.o
0x1ffff000 FLASH_Init_Api
0x1ffff100 FLASH_Write_Api
0x1ffff5ec FLASH_Erase_Api
0x1ffff79c FLASH_Read
0x1ffff840 FLASH_Protect_Api
*fill* 0x1ffff99c 0x4 00
,而这些函数是在RAM里是头尾相接的,一个函数尾后面紧跟着一个函数,这样的话,我改怎么去用地址去让他们分别执行呢?这个flash驱动将来是要封装成BIN的,封装成bIN之后就得用地址去访问他们了,这个实在不太会~~~·
|
|