这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ADS1,FLASH,RAM ADS1.2怎样将字库定义到FLASH里面,而不是

共2条 1/1 1 跳转至

ADS1,FLASH,RAM ADS1.2怎样将字库定义到FLASH里面,而不是RAM里面

院士
2006-09-17 18:14:16     打赏
ADS1,FLASH,RAM ADS1.2怎样将字库定义到FLASH里面,而不是RAM里面



关键词: FLASH     ADS1.2     怎样     字库     定义     里面         

院士
2006-12-22 22:43:00     打赏
2楼
ADS1.2怎样将字库定义到FLASH里面,而不是RAM里面 1: 最晕的办法是转换字库文件为文本文件看着乐声电子辛苦的份上...

这个我在DSP的5402中搞过文件格式转换,即将bin/hex格式转换为C源文件的

"内部const数组"格式.

用VC/VB/DELPHI/BC等转换为一个"字库数据头文件"

内部格式:

const char hz16k[0xxxxx] = {
  0xff,0xff,0xff,0xff,0xff,...0xff
};

这样,在C编译时只需包含此"字库数据头文件"即可.

第1次晕,以后就不在晕了...

2: HOTPOWER,有时感觉很难理解你说的话.可能是我太笨了. 3: 好像hotpower理解反了乐声电子的字库本来就是code.c里的一个数组,现在是想把编译出来的数组定位在flash里(还是要既定位在code区里,也在flash里?)。
我提到的方法,编译后还是在ram里吗? 4: 我以为是大数据库书写手痛呢不过这确实是一种免除书写的好办法...

可能乐声电子知道我在Keil中没问题

全部变量用const,局部函数内用static const.

不过我不知为何特别厌烦ADS,以至于连编译器都没装,故不能做实验.

非常抱歉不能帮上忙,虽然我看着乐声电子很辛苦也着急... 5: hotpower的那个我也看过了看来这点比ads方便些。
如果ads编译实在不行的话,我想可以先假设字库的地址,然后工程里不加入字库文件,直接编译,根据生成的bin的大小,得到bin的尾部地址,然后程序里写入该地址,重新生成bin,再用16进制编辑器在bin尾部添上字库。 6: 直接把字库烧到flash里面然后通过绝对地址来访问 7: ADS1.2的编译不知为什么不行. 8: 3种都是不错的方法:1,使用2楼的方法,先绕下,把2进制的文件,先转成数组,在使用数组定义。
  建议:使用命令行工具,直接把文件转换成光0xff,0xff,0xff,0xff,0xff,...0xff
这样的TXT文件,再到代码里面
const char hz16k[]=
{
#include "xx.txt"
};
在编译起里面设置,每次便宜前,先运行下工具,这样保证每次便宜都得到更新。
2。使用编程起便到FLASH里面。通过绝对地址访问。由于字库是固定的,无须每次都下在,节约调试时大量的代码下载时间。
3。估计代码多大,自己写个程序,把字符复在程序后面,这样需要自己写MAKE文件,调试的时候,不能直接载入ELF文件,需要先LOAD BIN,再使用不载程序,载符号表的方式,载如ELF文件。 9: 程序中DCD\DCB就可以了 10: HOTPOWER,有时感觉很难理解你说的话. 11: 这就对了

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]