【工具-裸机开发字体+图片+JLink+JFlash+升级】

1. jflash工程配置

1.1. jflash工程配置

jflash工程配置文件在哪里怎么生成?
TMS_M0.jflash
TMS_M4.jflash

答:JFlash新建工程来实现生成.JFlash文件
新建Poject——>MCU——>选择自己的芯片——>点击OK        
		|
		File->Open data File  选择0102_JLINK_M0_V01.00.00_2853.srec或0102_JLINK_M4_V01.00.00_4500.srec
		|
		保存——自己取名字.jflash 例如(TMS_M0.jflash,TMS_M4.jflash) (.jflash就是工程文件)


注明Srec文件boot程序。
0102_JLINK_M0_V01.00.00_2853.srec
0102_JLINK_M4_V01.00.00_4500.srec

1.2. GD32F470ZI

File -> New Project
在这里插入图片描述
注明:没有该该470就选450.

1.3. N32L406RB

File -> New Project
在这里插入图片描述
原先是没有 Nationstech芯片的所以参考 国名技术 JLink 工具添加 Nationstech 芯片流程 V1.0

1.4. STM32H743ZITx

在这里插入图片描述

1.4. MK10DN512xxx10

选择芯片时,假如没有该芯片选类似的型号也行

2. 字体处理

2.1. 字体处理软件

在这里插入图片描述

软件没有运行起来,安装这个包 Microsoft Visual C++ Redistributable Package.exe

2.2. 生成如下bin和c文件步骤

作用:点阵生产工具:  
工具:FontMaker.exe。
步骤:
1.	字体选:宋体
2.	字库选:GB2312-8K 
3.	生成.bin和 .c 文件  

注意: 要使用不同的字号都要需要生成
在这里插入图片描述

2.3. 生成项目需要的 如下bin和c文件

在这里插入图片描述
在这里插入图片描述
注意点生成时bin 和 c 没有文件后缀,手动修改为如上文件后缀

3. 用字库bin和字库c生成字库偏移 Chinese_Offset.c和Chinese_size.txt

3.1 工具

在这里插入图片描述

3.1 生成步骤

作用:利用 字库	BIN和字库C路径生成字库偏移。
工具:GenerateProjectResource.exe。
步骤:
1. 选择字库BIN路径
2. 选择字库C路径
3. 点击生成字库偏移  生成Chinese_Offset.c  Chinese_size.txt.

注意:自己更新了偏移文件是需要在代码上更新的
注意:生成字库偏移只需要选择字库BIN 字库C文件就行。

源bin 和 c 文件不能加密文件,加密了生成不了偏移文件
替换 代码中的 Chinese_Offset.c 将Chinese_size.txt内容 替换到代码中
在这里插入图片描述
在这里插入图片描述

4. 图像生成BIN文件

4.1 工具

在这里插入图片描述

4.2 步骤

作用:将图片文件夹下的所有图片生成Image.bin
工具:GenerateProjectResource.exe
步骤:
1. 选择项目名称例如注射泵(TMS)
2. 选RGB565;
3. 选取图片路径
4. 点击生成BIN  目录下生成 Images.bin  Color_Images.c  Color_Images.txt。
5. 替换Color_Images.c  Color_Images.txt 文件中的内容到代码中。

注意事项:
6. 代码中替换Color_Images.c
7. Color_Images.txt 中的复制到GuiPic.h中。

TMV 选择256色。

1 . 选取图片路径检测颜色数会生成颜色数据L8ClutData.c 文件,文件内容如下,
2.  替换掉代码中第二行以下内容。
3 . 修改全部define 的颜色  根据 后面的//RGB565(0x00,0x00,0x00)颜色值在 ClutWriteData[] 结构体中找到改值得下标并 填写到   (0x23);
#define  PC_BG_TITLE             (0x23) //RGB565(0x00,0x00,0x00)
#define  PC_BG_COLOR          (0x08)//RGB565(0x20,0x20,0x40)
#define  PC_BG_LINE               (0x23)//RGB565(0x00,0x00,0x00)   
#include <stdint.h>
static uint32_t ClutWriteData[] ={
0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,
0x202040,0x002040,0x404040,0xa0a0a4,0xc0c0c0,0xfffbf0,0xffffff,0xc0dcc0,
0x808080,0x402040,0xa04080,0xc04080,0x804080,0x606080,0xa0a0c0,0x406040,
0x606040,0xe04080,0x604040,0xc06080,0xe06080,0x802040,0x204040,0xe060c0,
0xe040c0,0x602040,0xa0c0c0,0x000000,0x80a080,0x804040,0x608080,0x6a6a6a,
0xaaaaaa,0xe9e9e9,0x6c6c6c,0x8d8d8d,0xb7b7b7,0x7d7d7d,0x9d9d9d,0x585858,
0xd1d1d1,0xb8b8b8,0xdcdcdc,0xc5c5c5,0xf5f5f5,0x262626,0x9b9b9b,0xf3f3f3,
0x575757,0x40a080,0x206080,0xe02000,0xe0a000,0x404080,0x8080c0,0x208080,
0x40a0c0,0xe02040,0xe0a0c0,0xe08080,0xe04040,0xe0a080,0xe06040,0x604000,
0x404000,0x806000,0xa06000,0xc08000,0xc0a000,0x402000,0xa08000,0xc02000,
0xa02000,0x806040,0x602000,0x800000,0xe0a040,0x808040,0xa08040,0x606000,
0xc08040,0xa06040,0xa04000,0xe08000,0xc06000,0x806080,0xc020c0,0x406080,
0x3fae9b,0x1b1e28,0x206040,0x333944,0x232732,0x4c555e,0x75828b,0x444b56,
0x8d9da6,0x9dafb7,0x95a6af,0x545e67,0x647079,0x85949d,0x6d7982,0x7d8b94,
0x5c6770,0x819098,0x97a8b1,0x8b9ba3,0x3c424d,0x2b303b,0x707c85,0x7f8d96,
0x91a2aa,0x2c364d,0x414d61,0x333e54,0x576475,0x4f5c6e,0x8fa0aa,0x5e6b7c,
0x6c7a89,0x738290,0x657382,0x8595a0,0x98a9b2,0x8d9ea8,0x485468,0x3a455a,
0x768592,0x408080,0x60a080,0x40c080,0x20a080,0x200040,0xe080c0,0xc0a0c0,
0xe0c000,0xa02040,0xa6caf0,0x80a0c0,0x808000,0x60a0c0,0x6080c0,0x80c0c0,
0x204080,0x004040,0x60c080,0x40c0c0,0x60c0c0,0x20c080,0x6a7783,0x305a63,
0x3c6173,0xd2d4d7,0x379286,0x2e8172,0x394258,0xdfe6e7,0x3da595,0x4a5665,
0x5c646c,0x2e3a4e,0xfafafa,0xb0b3b8,0x9c9ea2,0x818d98,0xf4f5fb,0x7a838d,
0xe4edee,0x686c76,0x3fa99a,0x516071,0xa8acb1,0xc8cbcf,0xeceff2,0xa3a5aa,
0x3f495d,0x2c6e81,0x2e3852,0x304f53,0x565b64,0x1e494c,0x2a2e3a,0xadaeaf,
0x484d55,0x1d2d32,0x1e222a,0x21262e,0x939299,0x323641,0x253f46,0x2a2d36,
0x4e505d,0xf0f2ed,0x363e46,0x2d343e,0x262a34,0x3cab95,0x20323b,0x20656e,
0x253d3d,0x604080,0x204000,0x000000,0x000000,0x000000,0x000000,0x000000,
0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,
0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,
0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,
0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,
0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,
};

5. 字库图像打包处理

5.1 工具

在这里插入图片描述

5.2 步骤

作用:将图片.bin和所有字体.bin文件打包成Nor_Flash.bin Nor_Flash.b    
工具:GenerateProjectResource.exe
步骤:
1. 选择图片bin文件。
2. 字库bin路径
3. 字库C路径或不选
4. 点击打包处理

生成文件:生成Nor_Flash.bin Nor_Flash.b 

可以将 Nor_Flash.bin 文件名修改为自己项目文件名称例如双通道泵 2104_Picture_V01.00.00_5787.bin
注意事项:串口烧录:bin文件用来串口烧录的。烧录M4必须要有boot程序。

6. 烧录Nor_Flash.bin文件到Flash中

6.1 工具

在这里插入图片描述

6.2 烧录步骤

作用:将字库和图像打包后的bin文件烧录到flash中。
工具:UpdateSoftware.exe
步骤:
1. 选择串口:115200
2. 点击连接。
3. 导入文件Nor_Flash.bin
4. 点击↓↓上传。

串口烧录:bin文件用来串口烧录的。烧录M4必须要有boot程序。

7. 将应用程序生成发布版本才能烧录

7.1 工具

在这里插入图片描述

7.2 步骤

作用:将Keil5生成的应用程序生成三个版本提供发布。
工具:UpdateSoftware.exe
步骤:
1. 点击发布
2. 选择Keil生成的bin文件
3. 选择MCU
4. 选择device
5. 选择SOFTTYPE(app应用)
6. 填写SvnVersion (选择当前代码在svn版本号)
7. 确认
8. 在D:\toos\UpgradeAssistant\UpgradeAssistant目录下生成

0102_1_M4_V01.00.00_8000.bin
0102_5_M4_V01.00.00_8000.bin
0102_3_M4_V01.00.00_8000.bin 三个文件

注意事项:

  1. 发布版本需要提交SVN版本号获取.
  2. 修改应用代码Version.c文件中的数字4817要和SVN发布版本一样
    char Version[] = “VERSION: -1 VERSION”;
    unsigned int revision = (unsigned int)(4817);
  3. 注释掉 SystemInfor.state.version.funcVersion = V_SOFTWARE_S;打开上一行。
    void ModelInit(void)
    {
    FileInfo file;
    memcpy(&file, (void*)APP_END_ADDR, 8);
    SystemInfor.state.version.funcVersion = (VERSION)((file.len >> 24 ) & 0x03);
    // SystemInfor.state.version.funcVersion = V_SOFTWARE_S;
    ==

8. 烧录应用程序

8.1 工具

在这里插入图片描述

8.2 步骤

作用:烧录M4程序
工具:UpdateSoftware.exe
步骤:
1. 设置设置串口115200
2. 选择上面生成的三个文件中的任意一个应用程序.bin。或者M0appM4app图片image.bin的可以一起烧录。
3. 点击↓↓ 烧录4. 

9. 程序发布VersionReleaseTool.exe

9.1 工具

在这里插入图片描述

9.2 INI配置文件

在这里插入图片描述
在这里插入图片描述

9.3 配置文件内容

[PROJECT_COMMENT]
SP3=0
TMS=1
TMV=2
TCI50=3
PCA=4
TPC_2=5
p_Fusion_S1=6
p_Fusion_V1=7
GPC-PBM=8
TCI42=9
ST_TMS=10
ST_TPC_2=11
GD_TMS=12
GD_TMV=13
GD_PCA=14
GD_TPC_2=15
GD_TCI50=16
GD_p_Fusion_S1=17
GD_p_Fusion_V1=18
GD_GPC-PBM=19
GD_TCI42=20
DOCK_M0M3=21
GD_Boaray560=22
GD_HighFlow=23
GD_TMS_VET=24
GD_TMV_VET=25
GD_TPC2_VET=26

[SRC_M4_APP]
checked=1
sourceUrl=https://desktop-q73344n/svn/TenMicrosSVN/2.development/5.software/1.content/2.codes/2.TMS/8.GD_NA/GD_TMS_App
revision=-1
vesionFile=src/projects/version.c
versionFormat="const unsigned int revision = (unsigned int)(%1);"
projectFile=build/GD32F470_SP3.uvprojx
Build_output=build/build_output.log
srecObj=build/GD32F470_SP3.srec
binObj=build/GD32F470_SP3.bin

DEPLOY\deploy_bin0=0102_SP3_R_GD_V01.02.00
DEPLOY\deploy_bin1=0102_SP3_D_GD_V01.02.00
DEPLOY\deploy_bin2=0102_SP3_S_GD_V01.02.00
DEPLOY\deploy_bin3=

[SRC_M4_BOOT]
checked=1
sourceUrl=https://desktop-q73344n/svn/TenMicrosSVN/2.development/5.software/1.content/2.codes/2.TMS/8.GD_NA/GD_TMS_Boot
revision=-1
vesionFile=src/projects/version.c
versionFormat="const unsigned int revision = (unsigned int)(%1);"
projectFile=build/GD32F470_TMS.uvprojx
Build_output=build/build_output.log
srecObj=build/GD32F470_TMS.srec
binObj=build/GD32F470_TMS.bin

DEPLOY\deploy_bin0=0102_GD_M4boot_V01.00.00
DEPLOY\deploy_srec=0102_GD_JLINK_boot_V01.00.00


[SRC_M0_APP]
checked=1
sourceUrl=https://desktop-q73344n/svn/TenMicrosSVN/2.development/5.software/1.content/2.codes/2.TMS/8.GD_NA/NA_TMS_App
revision=-1
vesionFile=src/projects/version.c
versionFormat="const unsigned int revision = (unsigned int)(%1);"
projectFile=build/n32l406_tms.uvprojx
Build_output=build/build_output.log
srecObj=build/n32l406_tms.srec
binObj=build/n32l406_tms.bin
DEPLOY\deploy_bin0=0102_NA_V01.02.00
DEPLOY\deploy_bin1=
DEPLOY\deploy_bin2=
DEPLOY\deploy_bin3=
DEPLOY\deploy_srec=



[SRC_M0_BOOT]
checked=1
sourceUrl=https://desktop-q73344n/svn/TenMicrosSVN/2.development/5.software/1.content/2.codes/2.TMS/8.GD_NA/NA_TMS_Boot
revision=-1
vesionFile=src/projects/version.c
versionFormat="const unsigned int revision = (unsigned int)(%1);"
projectFile=build/n32l406_tms.uvprojx
Build_output=build/build_output.log
srecObj=build/n32l406_tms.srec
binObj=build/n32l406_tms.bin
DEPLOY\deploy_bin0=0102_NA_boot_V01.02.00
DEPLOY\deploy_srec=0102_NA_JLINK_boot_V01.02.00

[COMMIT]
commitUrl=https://desktop-q73344n/svn/TenMicrosSVN/2.development/0.share/0.组间交互/5.需求-开发-测试/3.开发/1.软件版本/TMS_GD
prefix=0102_SP3_GD_V01.02.00
commitCheck=0

[COMPILER]
compiler=C:/Keil_v5/UV4/UV4.exe
;compiler=D:/Keil_v5/UV4/UV4.exe


[PACKAGE]
Bootproject=12

问题点

问题点一: 版本问题

  1. 修改Version.c中的数字4817和svn版本号一致目的是在测试过程中版本对应SVN版本号以免混淆。
  2. SystemInfor.state.version.funcVersion = V_SOFTWARE_S 目的是目标应用代码生成三个版本后烧录另一个版本都可以自动识别。

问题点二: 代码文件字体和图片地址都是。0x10000;

#define FLASH_IMAGE_START_ADDR (0x10000) 
#define FLASH_HZK_START_ADDR   (0x10000)

问题点三 : 95个字怎么做到的自己做的字体怎么生

答:自定义 输入想要显示的字生成的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光芒Shine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值