共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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |