[PIC32/SAM] Atmel Studio7使用ASF格式编程中如何将数组放到程序存储区

[复制链接]
1834|12
 楼主| 1032298562 发表于 2020-6-8 18:02 | 显示全部楼层 |阅读模式
最近在用Atmel Studio7使用ASF编程,目标芯片是SAMD21,现在遇到个问题就是如何把数组定义在程序存储区?就像Keil一样加个关键字code。前期查资料说要添加<pgmspace.h>头文件,但是ASF编程中没有这个头文件怎么办?
yjmeishao 发表于 2020-6-8 18:23 | 显示全部楼层
参考这篇帖子:
https://bbs.21ic.com/icview-2894864-1-1.html
怎么读懂ATSAME70的LD文件(链接文件)
yjmeishao 发表于 2020-6-8 18:26 | 显示全部楼层
还有这一篇:
https://bbs.21ic.com/icview-2894856-1-1.html
ATSAMD2x 在指定Flash地址保存常数变量_Atmel Studio 7
 楼主| 1032298562 发表于 2020-6-8 19:09 | 显示全部楼层
yjmeishao 发表于 2020-6-8 18:26
还有这一篇:
https://bbs.21ic.com/icview-2894856-1-1.html
ATSAMD2x 在指定Flash地址保存常数变量_Atmel  ...

能不能让系统自动分配地址,我不指定地址?感觉指定地址比较麻烦
yjmeishao 发表于 2020-6-8 21:48 | 显示全部楼层
1032298562 发表于 2020-6-8 19:09
能不能让系统自动分配地址,我不指定地址?感觉指定地址比较麻烦

static const uint8_t xxx_yyy[] = {
  0xZZ, 0xMM
};
huahuagg 发表于 2020-6-8 21:54 | 显示全部楼层
不偶读转移到MPLAB X了?
shipeng1989 发表于 2020-6-9 08:31 | 显示全部楼层
本帖最后由 shipeng1989 于 2020-6-9 08:32 编辑

加PSTR或PROGMEM修饰,例如:“LCD_ShowString(0,1,0,PSTR("请输入密码:"));”或“const char PROGMEM suc_fai[][10]={"操作成功!","操作失败!"};”
magicmcu 发表于 2020-7-2 15:43 | 显示全部楼层
你说的程序存储区就是flash的意思吗? 如果只是想这么随意放进去 那只要在定义前面加CONST关键字就可以的拉 这样就不会占用SRAM空间。
xiaoqizi 发表于 2020-7-7 16:53 | 显示全部楼层
网上有相关资料可以参考吗
木木guainv 发表于 2020-7-7 16:53 | 显示全部楼层
没遇到过这个问题
磨砂 发表于 2020-7-7 16:54 | 显示全部楼层
我自己没分配过地址
晓伍 发表于 2020-7-7 16:54 | 显示全部楼层
帮楼主顶一下
八层楼 发表于 2020-7-7 16:54 | 显示全部楼层
楼主解决问题了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部