共2条
1/1 1 跳转至页
ADS1,FLASH,RAM ADS1.2怎样将字库定义到FLASH里面,而不是RAM里面
问
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: 这就对了
这个我在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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
| 【S32K3XX】LIN 通讯模块使用被打赏¥31元 | |
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
我要赚赏金
