LM34063 发表于 2011-1-7 12:50:33

keil如何把字库数组定义到flash里面去,而不是ram

keil如何把字库数组定义到flash里面去,而不是ram

NJ8888 发表于 2011-1-7 12:55:34

code修饰

LM34063 发表于 2011-1-7 12:56:33

编译通不过

koniczyna 发表于 2011-1-7 12:59:04

求你了,至少给点关于“通不过”的错误信息吧,大哥

LM34063 发表于 2011-1-7 13:08:42

error expected a ;
说分号遗漏,去掉code 编译通过,

elsonx 发表于 2011-1-7 14:05:52

unsigned char code XXX[] = {……};

LM34063 发表于 2011-1-7 14:17:20

error:#65: expected a ";"
unsigned char codefot[] = {......}

517456 发表于 2011-1-7 14:28:51

试试const,code是51特有语法。如果是51的话code char array={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,\
            0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e};
我就是这样定义的。记住结尾要加“;”

LM34063 发表于 2011-1-7 14:35:48

是arm,有另外的定义方法吗?考虑到都是KEIL软件,应该不分ARM和51的

LM34063 发表于 2011-1-7 14:56:20

const 编译可以通过,但在编译后的提示里,code值和没加const变化不大,只是在ro-data和rw-data里有明显的变化,不知道是否是写入到FLASH里的,查ro-data,只是说不可改写数据,不确定是否在flash区

xiaobendan 发表于 2011-1-7 15:06:42

不管是在哪里,常量都是要保存到FLASH里面的啊,所以……

122402902 发表于 2011-7-31 20:14:22

回复【1楼】888888888888
-----------------------------------------------------------------------

51是code

liucw99 发表于 2011-7-31 20:44:50

code unsigned char a[]

122402902 发表于 2011-7-31 21:37:45

回复【12楼】liucw99
-----------------------------------------------------------------------

别人问的是ARM

lyyyuna 发表于 2011-8-1 08:24:32

其实code 不能说是51特有的语法,应该说是keil51特有的语法,建议仔细地看一下keil自带的帮助文件,里面讲的很详细了。

zhouzmt 发表于 2011-8-2 11:17:10

回复【9楼】LM34063
-----------------------------------------------------------------------

需要加载文件,把ro-data加载到flash所在的地址就可以了。
ROM_LOAD 0x00020000
{
    ROM_EXEC2 0x00020000   FIXED
    {
      stdframe2.o(ramd,+First)
      *.o(+RO)
    }

    IRAM 0x40000000
    {
      * (+RW,+ZI)
    }
}
其中,*.o就是ro-data,0x00020000是flash的起始地址

zya311 发表于 2014-4-14 12:12:39

使用KEIL、Atmel studio将数组定义在Flash区

zya311 发表于 2014-4-14 12:12:57

http://jingyan.baidu.com/article/72ee561aa64628e16138df18.html

McuPlayer 发表于 2014-4-14 13:27:17

不是code,是const
页: [1]
查看完整版本: keil如何把字库数组定义到flash里面去,而不是ram