harchy

  • 2024-07-15
  • 回复了主题帖: 二进制文件合并工具PackagingTool

    本帖最后由 harchy 于 2024-7-15 21:04 编辑 Ver 2.0.1.0  (该版本仅支持x64) (1) 新增支持多种输出数据格式,与RA8875/RA8876/RA8889全系列完美搭配; (2) 新增支持选择FLASH类型:可将bin档打包为NOR或者NAND的数据格式; (3) 新增显示缩略图窗口,便于即时查看添加进来的图片文件; (4) 新增工具:【视频转成AVI档】,可将视频转为AVI(Motion JPEG)格式,适配RA8889的使用需求; (5) 新增工具:【图片转成JPG档】,可将图片转为JPG(Baseline)格式,适配RA8889的使用需求; (6) 新增工具:【点阵字库转成图片】,可将点阵字库转成BMP或者JPG图片,便于UI设计; (7) 完善功能:文件信息插入bin文件头功能,重新规划了格式,原来只分配了8bytes/文件,新版本分配了16bytes/文件,增加了图片宽度和高度、文件类型三个信息,单机机可以根据文件头对文件、影片、字库等进行索引调用; (8) 可以设定任一文件的写入地址(Address),满足用户局部更新FLASH、合并Bootloader和App等需求。   升级方式:进入菜单 》帮助 》最新版本  

  • 2024-07-12
  • 发表了主题帖: 51单片机(STC8H8K64U/STC8051U34K64)_RA8889_8080参考代码(v1.3

    **文章导引:** (1)[51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3)](https://bbs.eeworld.com.cn/thread-1286845-1-1.html "51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3)") (2)51单片机(STC8H8K64U/STC8051U34K64)_RA8889_8080参考代码(v1.3) 单片机实际不限,这里采用的STC最新、主推的型号,比如STC8H8K64U、STC8051U34K64进行实验测试,您可以换用不同型号。目前测试这两个系列,显示速度均相当不错,软件设计也是极为简单。各篇文章下方均提供源码供参考下载。 RA8889是一款瑞佑科技推出的高性能液晶控制芯片,单片机下指令即可,可以驱动最高1366x768等液晶屏,其内建JEPG解码引擎,图形驱动引擎,因此显示速度相当不错,是单片机扩展彩屏UI的好搭档。也有低阶的型号比如RA8871M,RA8873M等,可根据实际需求选择。 本例提供并口8080通信代码,下方简单做一下介绍。 **硬件:STC8H8K64U/STC8051U34K64 + RA8889开发板**(硬件跳线变更为并口8080模式,PS=00x,R143,R142不接,R141无关) **8080接口电路连接图:** **实物连接图:** **RA8889开发板外接MCU连接器之引脚定义:** **【v1.3 代码说明】** (1)该代码采用8080,通信接口定义:         P2          Data_Bus             8位通信数据线    DB0~DB7         P0.0        RA8889_CS                RA8889片选                 XnSC         P0.1        RA8889_RD                RA8889的读                 XnRD(XEN)         P0.2        RA8889_RS                RA8889的地址         XA0         P0.3        RA8889_WR                RA8889的写                 XnWR(XRNW)         P0.4        RA8889_RST                RA8889硬件复位       (2)使用J-Link等工具将RA8889_Demo文件夹内的RA8889_Demo_F103_8080_SPI_floating_firmware.hex烧录到RA8889开发板上,将F103与RA8889的接线设定为高阻态。 (3)核心文件存放在RA8889_01_Kernel文件夹下:         RA8889_51.c                 为底层接口文件         RA8889_API_51.c         为用户层接口文件         RA8889_MCU_IF.c         为单片机接口文件(通信接口定义及通信函数)         UserDef.h                         为用户自定义参数文件         delay.c                                延迟函数,请根据单片机的主频修正 (4)演示以下常用功能:         Introduction();                                //文字介绍         Geometry_Demo();                        //几何绘图演示         Show_JPG();                                        //调用FLASH的JPG图片显示         Show_BMP();                                        //调用FLASH的BMP图片显示         Fade_in_Fade_out();                        //图片淡入淡出演示         Show_AVI();                                        //调用FLASH的AVI影片播放         Show_PNG();                                        //调用FLASH的PNG图片显示 **实际测试结果:和SPI通信方式比较,运行以上演示程序时,显示文字会略微快一些,其它差别不大。** **源码下载:**

  • 2024-07-05
  • 发表了日志: 51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3)

  • 发表了主题帖: 51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3)

    本帖最后由 harchy 于 2024-7-5 14:42 编辑 硬件:STC8051U34K64 + RA8889开发板(硬件跳线变更为SPI-4模式,PS=101,R143,R141短接,R142不接) STC8051U34K64是STC最新推出来的单片机,主要用于替换传统的8051单片机,与标准的8051指令集兼容,同时又是内建超高速32位8051内核(1T)。 其内部集成2+32KB的SRAM,以及64KB的大容量程序存储空间,具有更宽的工作电压:1.9~5.5V,更宽的工作温度:-40℃~125℃。 RA8889是RAIO推出来的一款集成度很高的液晶控制芯片,最大可支持1366*2048分辨率大小的TFT彩屏。 其内建JPEG硬件解码引擎,可以显示JPG、AVI文件,解码速度超快! 该芯片内建128Mbit的显存,使得UI缓存相当充裕,软件代码使用简单易用,开发会十分高效! 本程序结合该MCU进行驱动TFT彩屏的测试,同时提供移植好的代码供大家使用!   实物连接图: RA8889开发板硬件跳线: 单片机-RA8889连接电路: 代码说明: (1)该代码采用SPI-4,通信接口定义:         P2.7                SPI_SS                        RA8889片选                DB[4] (XnSCS)         P2.6                SPI_MISO                接RA8889的SDO        DB[5] (XSSDO)         P2.5                SPI_MOSI                接RA8889的SDI        DB[6] (XSSDI)         P2.4                SPI_SCK                        SPI时钟                        DB[7] (XSSCL)         P2.3                RA8889_RST                RA8889硬件复位         (2)使用J-Link等工具将RA8889_Demo文件夹内的RA8889_Demo_F103_SPI_firmware.hex烧录到RA8889开发板上,将F103与RA8889的接线设定为高阻态。 (3)核心文件存放在RA8889_01_Kernel文件夹下:         RA8889_51.c                 为底层接口文件         RA8889_API_51.c         为用户层接口文件         RA8889_MCU_IF.c         为单片机接口文件(通信接口定义及通信函数)         UserDef.h                         为用户自定义参数文件         delay.c                                延迟函数,请根据单片机的主频修正                 (4)演示以下常用功能:         Introduction();                                //文字介绍         Geometry_Demo();                        //几何绘图演示         Show_JPG();                                        //调用FLASH的JPG图片显示         Show_BMP();                                        //调用FLASH的BMP图片显示         Fade_in_Fade_out();                        //图片淡入淡出演示         Show_AVI();                                        //调用FLASH的AVI影片播放         Show_PNG();                                        //调用FLASH的PNG图片显示   源码下载:     视频演示,硬件和软件之详细介绍(STC8051U34K64和STC8H8K64U用法相近): [localvideo]9ece2431a905260aa0a34aa19f9ab73e[/localvideo]  

  • 2024-06-27
  • 回复了主题帖: 51单片机STC8H8K64U通过RA8889/RA8876如何控制彩屏(源码下载)

    板上左侧是RA8889,100脚的,用的就是这颗;右侧是103,在此不用。 面包板上呢随便拿了个51来用的  

  • 2024-06-26
  • 发表了主题帖: 51单片机STC8H8K64U通过RA8889/RA8876如何控制彩屏(源码下载)

    本帖最后由 harchy 于 2024-6-26 14:23 编辑 ### 【硬件部份】 #### 一、硬件连接实物: STC8H系列单片机不需要外部晶振和外部复位,在相同的工作频率下,速度比传统的8051单片机要快12倍,具有高可靠抗干扰的优秀特性,与瑞佑的RA8889/RA8876控制芯片刚好可以完美搭配用于工控、医疗等各个领域。我们这样接线就可以了: #### 二、SPI-4连接电路图: RA8889和单片机的接口支持SPI-4线也支持3线,我们测试时采用的是SPI-4线,连接电路图如下: #### 三、RA8889开发板做两处变更: (1)PS2~0: 跳接为101 (2)开发板上之单片机103程序中,将DB4~7连接的GPIO设定为FLOATING状态 ### 【软件部份】 #### 四、接口定义: ```c /* SPI-4 IO口配置*/ sbit SPI_SS   = P2 ^ 7; // Slave Select      (RA8889片选) sbit SPI_MISO = P2 ^ 6; // Master In Slave Out   (接RA8889的SDO) sbit SPI_MOSI = P2 ^ 5; // Master Out Slave In   (接RA8889的SDI) sbit SPI_SCK  = P2 ^ 4; // Serial Clock sbit SPI_RST  = P2 ^ 3; // Reset RA8889     (通过IO口接到RA8889/RA8876进行硬件复位) ``` #### 五、GPIO引脚配置: STC8H8K64U单片机的GPIO引脚要做一下配置,这点与标准的51单片机有所不同,单片机的P2.6作为MISO,接到RA8889/RA8876的SDO输出,故该引脚要这样配置: ```c P2M0 = 0xBF;        //设置P2.6为双向口模式,其它为挽输出模式 P2M1 = 0x00; ``` #### 六、其他代码不需要变化,按51单片机的代码正常写: ```c     Introduction();        //文字介绍     Geometry_Demo();      //几何绘图演示     Show_BMP();            //调用FLASH的BMP图片显示     Show_JPG();            //调用FLASH的JPG图片显示     Fade_in_Fade_out();    //图片淡入淡出演示     Show_AVI();            //调用FLASH的AVI影片播放     Show_PNG();            //调用FLASH的PNG图片显示 ``` #### 七、视频说明: 【STC8H单片机通过RA8889驱动TFT彩屏之软件解说】 https://www.bilibili.com/video/BV11Y3jeyEZw/?share_source=copy_web&vd_source=c0cd4c87f6dcc19bcebab2f4cf3c40db #### 八、源码下载:

  • 2024-06-14
  • 回复了主题帖: 51单片机+RA8889驱动控制彩屏 完整源码说明 【 源码v1.2 】

    se7ens 发表于 2024-6-14 09:54 看起来不错,可以用3.3v的51单片机吗? 肯定可以啊,中间加了电平转换模块就是因为MCS-51接口是5V,如果是3.3V单片机,接线就更简单了!RA8889,RA8876等均是3.3V.

  • 2024-06-13
  • 发表了主题帖: 51单片机+RA8889驱动控制彩屏 完整源码说明 【 源码v1.2 】

    本帖最后由 harchy 于 2024-6-14 11:07 编辑 **51单片机驱动控制彩屏系列讲座** 第一讲:单片机STC89C52+RA8889驱动控制彩屏【 源码v1.0 】 第二讲:单片机STC89C52+RA8889驱动控制彩屏 代码移植介绍 第三讲:单片机STC89C52+RA8889驱动控制彩屏 代码的压缩(Keil编译器) 第四讲:单片机STC89C52+RA8889驱动控制彩屏 代码移植范例(包含API接口)【 源码v1.1 】 第五讲:51单片机+RA8889驱动控制彩屏  完整源码说明 【 源码v1.2 】 **硬件:STC89C52 + RA8889开发板 + TFT彩屏(范例使用AT070TN92)** **SPI通信接口定义:** P1.0   RES    RA8889硬件复位 P1.4   SCS    RA8889片选 P1.3   SDO   接RA8889的SDO P1.2   SDI    接RA8889的SDI P1.1   SCK    SPI时钟 **【v1.0 程序功能】** 51单片机采用STC89C52即可,通过SPI接口与RA8889进行通信,驱动7寸(800x480)彩屏。 该版本仅作基础初始化,代码精简,作为基础演示。 绘图函数、用户接口API尚未移植。 **【v1.2 程序功能】** 1.  该版本已将RA8889.c和RA8889_API.c进行移植,重新命名为RA8889_51.c和RA8889_API_51.c 变更内容: (1)延时函数,仅提供ms级别,原始参考代码有一些采用us的延时级别 (2)将特定关键字data修改为data_array (3)NAND FLASH功能函数移植起来相对复杂,暂时屏蔽(RA8889支持扩展NAND FLASH,但只有一两个型号通过验证) (4)自建字库占用RAM较多,在51单片机环境不太适合,故删除调用自建ASCII字库的相关函数 2.  核心文件存放在RA8889_01_Kernel里面 3.  演示以下常用功能: ```c     Introduction();       //文字介绍     Geometry_Demo();      //几何绘图演示     Show_JPG();           //调用FLASH的JPG图片显示     Show_BMP();           //调用FLASH的BMP图片显示     Fade_in_Fade_out();   //图片淡入淡出演示     Show_AVI();           //调用FLASH的AVI影片播放     Show_PNG();           //调用FLASH的PNG图片显示 ``` 由于代码较多输出文件大,单片机的FLASH需要选择更大容量,SRAM也需要更大容量,方可运行开所有演示代码。 我们在STC89C516RD+、STC12C5A60S2等单片机上均已测试通过。 **实际演示效果:** **源码下载地址:**

  • 2024-06-06
  • 回复了主题帖: 51单片机驱动控制彩屏系列讲座:单片机STC89C52+RA8889驱动控制彩屏

    **51单片机驱动控制彩屏系列讲座** 第三讲:单片机STC89C52+RA8889驱动控制彩屏 代码的压缩(Keil编译器) 本章介绍使用Keil编译器时如何压缩51单片机移植RA8889的代码。 瑞佑(RAIO)科技所推出的RA8889是一颗图形控制芯片,具有相当多的图形显示功能,包括绘图、文字显示、DMA、JPG解码、AVI解码等,因此API函数十分丰富,也就造成代码庞大,冗余较多。对于单片机来说,FLASH空间都比较小,因此除了在移植时要适当裁剪代码之外,我们对编译器也要适当设定,可大大减少生成文件的大小。 #### 一、选择扩展链接程序: ![814361](/data/attachment/forum/202406/06/140639y2pxxnxn9n9ypx89.png.thumb.jpg?rand=3984.9588551456795) #### 二、模块优化级别:使用公共块代码编译 ![814362](/data/attachment/forum/202406/06/140649f2u6y62zd6cy6lc8.png.thumb.jpg?rand=3001.7833438037765) #### 三、编译时不包含未使用的函数模块:REMOVEUNUSED ![814363](/data/attachment/forum/202406/06/140653ezc9xk1xq0c11kju.png.thumb.jpg?rand=4576.105993103796) 这样设定之后,代码编译完就很小啦!

  • 2024-06-05
  • 回复了主题帖: 51单片机驱动控制彩屏系列讲座:单片机STC89C52+RA8889驱动控制彩屏

    本帖最后由 harchy 于 2024-6-5 11:13 编辑 **51单片机驱动控制彩屏系列讲座** 第二讲:单片机STC89C52+RA8889驱动控制彩屏 代码移植介绍 #### 一、RA8889核心文件有四个,分别是: | 文件 | 说明 | |--|--| | RA8889.c | 底层API程序 | | RA8889_API.c |  用户层API程序(可选)| |RA8889_MCU_IF.c |    MCU通信函数| |UserDef.h |  参数配置:屏参、频率等| 重点要移植的代码是RA8889.c,这份程序可以根据功能需求进行裁切移植,而RA8889_API.c这份是API接口程序,代码多,根据实际功能需求进行裁切。RA8889_MCU_IF.c则可以根据实际通信方式进行选择裁切。 UserDef.h 配置相关参数、宏定义,另外还有一份delay.c,这里的延时函数需要用户根据自己的主频进行调整。根据51单片机,移植好了核心代码放在 RA8889_01_Kernel 文件架里面: ![814022](/data/attachment/forum/202406/05/110922o9hh7gmh7okok7ho.png?rand=8213.287024282325) 上一讲已针对51基础功能进行了基础移植,并根据51单片机进行优化,该代码使用的是AT070TN92兼容屏,若您手上的液晶屏是其它型号,要变更屏的参数配置Set_LCD_Panel(),不清楚可以在本bbs论坛留言。 使用Keil来编辑时,程序添加到项目中: ![814023](/data/attachment/forum/202406/05/110930rgv2cg5dpsi0pse5.png?rand=2493.770546848706) 路径包含: ![814024](/data/attachment/forum/202406/05/111036q7zcceczc42kvkee.png.thumb.jpg?rand=3633.3877107746202) #### 二、单片机仅需要做三步: ```c         /* SPI初始化 */         SPI4_Init();                 /* RA8889硬件复位 */         SPI_RST = 1;         delay_ms(1);         SPI_RST = 0;         delay_ms(1);         SPI_RST = 1;         /* RA8889初始化 */         RA8889_Initial(); ``` 这样初始化也就做完了,接下来单片机就可以开始绘图了。 #### 三、绘图和显示文字: 1. 下方代码演示颜色填充,根据函数名称不难理解,这些函数存放在RA8889_51.c里面: ```c         /* 画矩形填充 */         Foreground_color_16M(0x0);         Square_Start_XY(0,0);         Square_End_XY(799,479);         Start_Square_Fill(); ``` RA8889内建图形驱动引擎,可以绘制各种几何图形:方形,三角形,圆形,椭圆形等等,您可以根据需求再从RA8889标准参考程序里面找到RA8889.c,根据功能进行裁剪。 2. 文字显示,下方是简单调用,此外文字显示还有多种功能:放大、加底色等,这些都可以从RA8889标准参考程序找到RA8889_API.c进行裁剪移植。 ```c         /* 内建文字显示测试 */         Foreground_color_16M(0xFFFFFF);         Goto_Text_XY(124,30);         Show_String("Solution: 89C52 + RA8889.");         Goto_Text_XY(124,60);         Show_String("RA8889 is an efficient TFT LCD CONTROLLER.");         Goto_Text_XY(124,90);         Show_String("It has an embedded decoder for JPG and AVI."); ``` #### 四:移植的调试 在移植时,有可能不成功,这里介绍一点经验: 1. 检查SPI接线,SDO和SDI不要接反了,还要确认CS和地线; 2. 可以无限循环RA8889_Initial()代码,再用示波器观察SDO、SDI、SCK及CS的波形,是否有周期的脉冲,这个方法定位会比较容易; 3. 在MCU_Dev_Board.c代码中有一个通信测试Comm_Test(),通过该函数对RA8889进行读写,若正常则闪烁LED来指示; 4. 另外可以调整delay.c,将延时先调得长一点进行测试,待通信正常再适当调快。

  • 2024-06-04
  • 回复了主题帖: 51单片机驱动控制彩屏系列讲座:单片机STC89C52+RA8889驱动控制彩屏

    beyond_笑谈 发表于 2024-6-4 10:31 早上还在技术群里聊STC的51单片机有没有人在用,果然51永不过时 看STC活得绘声绘色,仍在不断发展壮大的

  • 发表了主题帖: 51单片机驱动控制彩屏系列讲座:单片机STC89C52+RA8889驱动控制彩屏

    本帖最后由 harchy 于 2024-6-4 09:27 编辑 **51单片机驱动控制彩屏系列讲座** 第一讲:单片机STC89C52+RA8889驱动控制彩屏(源码公开) 单片机通过SPI与RA8889进行通信,由于单片机是5V,RA8889是3.3V,故需要进行电平转换,有现成的模组TXS0108E等可以采用。 整体硬件连接图: RA8889具有并口和串口功能,这里采用最简单的接线方式SPI-4线: 通信接口定义: ```c sbit SPI_RST  = P1 ^ 0; // Reset RA8889                 (通过IO口接到RA8889/RA8876进行硬件复位) sbit SPI_SS   = P1 ^ 4; // Slave Select                        (RA8889片选) sbit SPI_MISO = P1 ^ 3; // Master In Slave Out         (接RA8889的SDO) sbit SPI_MOSI = P1 ^ 2; // Master Out Slave In         (接RA8889的SDI) sbit SPI_SCK  = P1 ^ 1; // Serial Clock ``` 这里要注意的是**SPI_MISO-RA8889_SDO**之间的连接,这条接线就不必经过电平转换模组TXS0108E,直接连接即可,因为该信号是RA8889的输出,MCU是接收,而TXS0108E模组是单向的,故该引脚采用直连。 硬件图连接放大: 显示效果: 源码下载v1.0(极简演示版本):

  • 2024-04-02
  • 发表了主题帖: RA8889/RA8876显示自定义ASCII字符方法

    本文介绍用户自己生成的ASCII字库如何通过RA8889/RA8876显示到液晶屏上。   先上一张实例效果图: 再上程序代码: int main(void) { unsigned short x,y; /* System Clocks Configuration */ RCC_Configuration(); delay_init(72); GPIO_Configuration(); //NVIC_Configuration(); //SPI_Peripheral_Init(); /* Enable the FSMC Clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); delay_ms(1); FSMC_LCD_Init_H(); /*RA8889初始化*/ RA8889_Initial(); /*清屏,填充黑色0x0*/ BTE_Solid_Fill(0,canvas_image_width,0,0,0x0,LCD_Width,LCD_Height); /*MCU写入ASCII字符功能例程测试,不支持MCU_16bit_ColorDepth_24bpp_Mode_1 */ x=30; y=50; lcdPutString8x12(x,y,color65k_black,color65k_yellow,0,"The things I want to know are in books, my best friend is the man "); lcdPutString16x24(x,y+20,color65k_black,color65k_yellow,0,"who'll get me a book I ain't read."); lcdPutString16x24(x+16*14,y+50,color65k_green,color65k_yellow,1," --Abraham Lincoln "); lcdPutString32x48(x,y+100,color65k_white,color65k_yellow,1,"ASCII font lib is "); lcdPutString32x48(x,y+150,color65k_white,color65k_yellow,1,"stored in the MCU's"); lcdPutString32x48(x,y+200,color65k_white,color65k_yellow,1,"FLASH."); while(1); } 程序流程图: 该方法是将制作好的ASCII字库放在MCU的FLASH中进行引用,字符数量为95个,编码区间0x20~0x7E,通过编码即可索引,并调用相应的数据,通过RA8889/RA8876描点显示出来。   该链接可下载源代码

  • 2024-02-29
  • 发表了主题帖: PackagingTool_x64_v2.0.1.0图片转档打包二进制文件合并字库生成图片软件介绍

    本帖最后由 harchy 于 2024-2-29 11:50 编辑 继去年12月份发布的打包软件PackagingTool v1.4.0.2之后,今年再度投入精力,完善了软件功能,同时开发了几个更加实用的工具,可助力UI界面的设计开发。当前最新版本为PackagingTool_x64_v2.0.1.0,该版本主界面如下,包含功能: 【软件下载地址放在文章底部的链接,免费使用!】 (1) 新增支持多种输出数据格式,与RA8875/RA8876/RA8889全系列完美搭配; (2) 新增支持选择FLASH类型:可将bin档打包为NOR或者NAND的数据格式; (3) 新增显示缩略图窗口,便于即时查看添加进来的图片文件; (4) 新增工具:【视频转成AVI档】,可将视频转为AVI(Motion JPEG)格式,适配RA8889的使用需求; (5) 新增工具:【图片转成JPG档】,可将图片转为JPG(Baseline)格式,适配RA8889的使用需求; (6) 新增工具:【点阵字库转成图片】,可将点阵字库转成BMP或者JPG图片,便于UI设计; (7) 完善功能:文件信息插入bin文件头功能,重新规划了格式,原来只分配了8bytes/文件,新版本分配了16bytes/文件,增加了图片宽度和高度、文件类型三个信息,单机机可以根据文件头对文件、影片、字库等进行索引调用; (8) 可以设定任一文件的写入地址(Address),满足用户局部更新FLASH、合并Bootloader和App等需求。   接下来对各个功能模块进行简介:   一、主功能:文件添加与打包: 首先要选择【输出格式】,再进行【添加文件】,这样Output Format栏目才会显示相应的格式,选择No Change则不进行处理,原档按二进制格式进行合并。   【FLASH】可以选择是要保存为NOR还是NAND使用,该选项变更时Address栏目值会重算刷新。   【设定写入地址】该功能是设定文件偏移地址,先选择相应的图片(文件)行,然后【+】【-】调整好地址值,接着点右侧的【保存图标】设定该行文件的写入起始地址,这个功能对于嵌入式开发合并Bootloader和App程序相当实用:   【合并保存】之后,点击【查看结果】会看到两个新文件:一个是.bin文件即烧录档,另一个是.h即头文件,单片机可以引用该头文件进行图片、档案索引,同时.h文件也可以用于【导入存档】,重新编排文件,这个功能主要考虑到研发人员在产品调试初期会频繁改动UI文件的需求。   【插入文件信息】选项,第一个文件的起始地址需要先设定,该功能才有效。   勾选起来会将每个文件信息写入文件头,每个文件占用16字节,格式如下:   Data Format定义格式如下:   该信息可用于单片机索引图片、影片、字库等数据,即使不更新App Code,单独更新FLASH的图资亦可。     二、工具选项【视频转成AVI档】,可将视频转为AVI(Motion JPEG)格式,适配RA8889的使用需求   使用时先【选择】视频文件,然后在【参数设置】进行宽度、高度、帧率、比特率、视频质量的设定,同时可以选择是否【保留音频】,RA8889无解码音频功能,默认不保留。   参数设定好之后,【开始】转换,结束后可【查看】打开转换好的档案目录,新档即可作为RA8889的视频源文件进行打包。     三、工具选项【图片转成JPG档】,可将图片转为JPG(Baseline)格式,适配RA8889的使用需求:   使用时,【参数设置】只有一项是选择清晰度,您可以自己进行比较各种质量,可接受的效果即可。   【添加】导入文件,然后【开始】进行转换,最后【查看】打开转换结果所在目录,转换之后的JPG即可作为RA8889的图片源文件进行打包。     四、工具选项【点阵字库转成图片】,可把点阵字库转为BMP或者JPG图片,便于使用RAIO芯片进行UI设计:   在设计UI界面时,最常用的功能就是显示各式各样的数字表,也有需求显示文字、图标等等,使用该工具可以很容易做成各种各种文字图标,在设计UI时就非常方便!   使用时,先【选择】字库档,字库档请先使用第三方软件生成,格式为从左到右从上到下,左高位,选择好后,会自动估算出【宽度】和【高度】,这两个参数要依据实际进行修正,若参数正确,则会自动预览,同时左下角会显示该字库包含的文字个数;可点宽高下方的图标翻页预览。   还可以依据需求设定【前景色】和【背景色】,每种颜色的代表值需要3个字节,数值按红、绿、蓝三色排序,手动进行修改后,可以马上看到预览效果。   【起始地址】在翻页后会按单字步进,也可以手工输入,再点【▶】预览,单字大小按照:宽x高/8 换算。   【限制数量】指的是要转换的字数,从起始地址开始之后的字开始转换。若为0表示该字库所有文字都转换为图片。   【○BMP  ○JPG】转换的图片存为BMP或者JPG格式。     【开始】进行转换,【查看】自动打开输出目录:     字库源文件限制最大尺寸为128*128点,高度和宽度不限。这些图片可以作为RA8875 / RA8876 / RA8889 系列芯片的图片源文件进行打包,烧进FLASH,再通过DMA功能进行读取调用。   DMA显示图片是RAIO全系列TFT LCD Controller芯片的加速引擎,可高速显示图片!   如果您觉得该软件有用,有请点赞了!也欢迎分享!在此省略八万字的感谢~~~ 【下载地址】http://www.lcdvision.com.cn/index.php?m=content&c=index&a=show&catid=55&id=35  

  • 2023-12-06
  • 回复了主题帖: 二进制文件合并工具PackagingTool

    v1.3.0.2  2023/12/5 调整输出的.h格式,导出同时构建枚举函数,MCU可直接引用该头文件进行索引,该文件与Image Tool导出来的.h格式一致,可兼容;另外增加图片的宽度和高度信息,可搭配瑞佑的RA8889使用。   导入方法:导入存档>>打开文件选择框>>选择已保存的.h文件。   请更新为最新版本。  

  • 2023-11-21
  • 回复了主题帖: 二进制文件合并工具PackagingTool

    v1.2.0.1  2023/11/18 更新偏移地址设定逻辑,可以设定任一文件的偏移地址,满足MCU的IAP Boot Loader Code和Application Code合并时需要固定偏移功能(比如0x00001000),请下载最新版本。  

  • 2023-11-10
  • 发表了主题帖: 二进制文件合并工具PackagingTool

    本帖最后由 harchy 于 2023-11-10 15:13 编辑 功能:可将多个二进制文件的合并与打包,比如bin档、字库dot档、图片jpg、视频avi等; 特色:文件可添加、排序、删除,插入偏移地址,满足各种FLASH烧录需求; 特色推荐: 可保存列表,方便二次编排,省去研发频繁调整烦恼! 适用平台:Windows平台 文件大小:350K / 单文件 / 绿色版 主界面:   关于前置偏移:偏移地址自由设定,是否添加文件信息可选,如下图:   若选择此项,则会将合并的文件地址和大小信息写到前置偏移地址,各占4Bytes,写入的数据格式为LSB->MSB,该目的方便单片机索引访问。 下面举例单片机如何读取jpg图片出来显示,我们先将一系列jpg图片打包好bin档并且烧录到瑞佑的RA8889下挂的FLASH芯片,单片机可以按8个字节/次读取到文件的地址和大小: //获取图片的地址或者大小信息,共4个字节,再合并成一个数值返回 unsigned long Get_Picture_Address_Size(unsigned long flash_addr) { unsigned long temp; unsigned short i; unsigned int data_buffer[4]; //存放从FLASH读取出的数据 Enable_SFlash_SPI(); if(FLASH_BUS==0) SPIM_Select_Bus_0(); //总线BUS0 else SPIM_Select_Bus_1(); //总线BUS1 #ifdef OVER_128Mb Select_nSS_drive_on_xnsfcs3(); //使用CS3位置的FLASH #else Select_nSS_drive_on_xnsfcs2(); //使用CS2位置的FLASH #endif RA8889_SPI_Flash_WREN(); //写入使能 nSS_Active(); delay_us(1); SPI_Master_FIFO_Data_Put(0x03); delay_us(1); #ifdef OVER_128Mb //32bit 寻址 SPI_Master_FIFO_Data_Put(flash_addr>>24); SPI_Master_FIFO_Data_Put(flash_addr>>16); SPI_Master_FIFO_Data_Put(flash_addr>>8); SPI_Master_FIFO_Data_Put(flash_addr); #else //24bit 寻址 SPI_Master_FIFO_Data_Put(flash_addr>>16); SPI_Master_FIFO_Data_Put(flash_addr>>8); SPI_Master_FIFO_Data_Put(flash_addr); #endif for(i=0;i<4;i++) { data_buffer[i] = SPI_Master_FIFO_Data_Put(0xff); } temp = data_buffer[3]<<24; temp += data_buffer[2]<<16; temp += data_buffer[1]<<8; temp += data_buffer[0]; nSS_Inactive(); while(RA8889_SPI_Flash_RDSR()& 0x01); RA8889_SPI_Flash_WRDI(); Disable_SFlash_SPI(); return(temp); }   单片机读取到jpg存放地址和图片大小之后,再传给RA8889,即可显示: //从FLASH读取第n张图片出来显示 int Show_Picture(unsigned int pic_num) { unsigned long pic_addr, pic_size; pic_addr = Get_Picture_Address_Size(0x0000+pic_num*8); //读取到第n个图片地址的值 pic_size = Get_Picture_Address_Size(0x0004+pic_num*8); //读取到第n个图片大小的值 SPI_NOR_initial_JPG_AVI (1,0,FLASH_BUS,FLASH_CS,1); #ifdef OVER_128Mb switch_24bits_to_32bits(FLASH_BUS,FLASH_CS); IDEC_Select_SFI_32bit_Address(); #endif JPG_NOR (pic_addr,pic_size,canvas_image_width,0,0); return 1; }   该软件特色功能是打包成bin档的同时还会将编排好的列表保存在.h文件中,后续要使用时可以再读取回来,方便研发调试!省去频繁导入与调整文件顺序,可提高工作效率! 单片机要调用图片显示,碰到要调用jpg、avi等图资,由于此类文件大小不一,若没有做FAT文件系统就只能做成固定调用,后续投产之后就不方便再变更图片资源,而使用该软件就可以在打包文件的同时将文件大小和地址信息一同保存,单片机只需要按规律寻址即可,比如在使用瑞佑的RA8889,有些用户想量产之后还想再做升级变更图资,用此法即可很容易解决!   操作说明示范: [localvideo]3bc68b5403cee8743959f2adac6d6bcc[/localvideo]   下载链接:  

最近访客

< 1/1 >

统计信息

已有3人来访过

  • 芯积分:88
  • 好友:--
  • 主题:8
  • 回复:14

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言