找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2525|回复: 12
收起左侧

九齐MCU如何定义16位数组放在rom

[复制链接]
ID:500345 发表于 2021-6-3 10:14 | 显示全部楼层 |阅读模式
初次用九齐MCU,遇到一个问题,我需要定义一个16位的数组,存放在rom区,如下所示:const uint16_t __MEM_CODE__ g_temp_maps[] =
{
    32500, 26700, 21990, 18160, 15050,12520,10450,8770,7380,6238,         /* 0 - 9 */
    5293,  4509,  3855,  3308,  2848, 2460, 2132, 1852,1614,1410,                  /* 10 - 19 */
    1235,  1083,  952, 838, 739, 655,                                                                        /*        20 - 25*/        
};

这样编译老是会出错,提示“使用了未定义的符号‘STK03’(13010)   ”,
如果改为定义8位数组,就不会提示这个错误,这怎么解?
回复

使用道具 举报

ID:883031 发表于 2021-6-4 17:32 | 显示全部楼层
uint16有没有进行宏定义?
回复

使用道具 举报

ID:883242 发表于 2021-6-4 18:16 | 显示全部楼层
你用的是什么编译器?查编译器手册。
回复

使用道具 举报

ID:500345 发表于 2021-6-5 10:26 | 显示全部楼层
cn_zhx 发表于 2021-6-4 17:32
uint16有没有进行宏定义?

有进行宏定义的
回复

使用道具 举报

ID:500345 发表于 2021-6-5 10:29 | 显示全部楼层
Hephaestus 发表于 2021-6-4 18:16
你用的是什么编译器?查编译器手册。

嗯,我在看手册,用的九齐的NY8A051F,开发环境就用官方的IDE和编译环境。
回复

使用道具 举报

ID:500345 发表于 2021-6-5 10:31 | 显示全部楼层
Hephaestus 发表于 2021-6-4 18:16
你用的是什么编译器?查编译器手册。

在看手册,用的九齐的NY8A051F,使用官方的IDE和编译环境。
回复

使用道具 举报

ID:500345 发表于 2021-6-5 10:33 | 显示全部楼层
有没有对这个九齐MCU熟悉一点的,指点一下。 使用的九齐的NY8A051F,用的官方的IDE和编译环境。
回复

使用道具 举报

ID:176854 发表于 2021-6-5 11:42 | 显示全部楼层
本帖最后由 jjjjjjir 于 2021-6-5 11:56 编辑

虽然数组有const 声明,但是有些编译器仍然会将数组存储到RAM里面,RAM存储空间不足时会导致溢出。

可以同时使用const 和 code修饰数组,确保将数组存储到RAM里面。
回复

使用道具 举报

ID:883242 发表于 2021-6-5 12:14 | 显示全部楼层
查官方的IDE和编译环境的说明书。
回复

使用道具 举报

ID:139037 发表于 2022-5-23 20:46 | 显示全部楼层
改一下IDE的内存设置看看
改大
回复

使用道具 举报

ID:824490 发表于 2022-5-24 17:33 | 显示全部楼层
提示“使用了未定义的符号‘STK03’(13010)
问题可能不是在数组这边。被牵连到了,你从错误行开始往回查。。
回复

使用道具 举报

ID:1030202 发表于 2022-5-27 16:02 | 显示全部楼层
遇到了同样的问题  请问楼主解决了吗
回复

使用道具 举报

ID:271166 发表于 2022-6-7 12:03 | 显示全部楼层
48 bytes SRAM
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表