mirror of
https://gitee.com/HEYAHONG/Programer_discarded.git
synced 2025-05-08 10:14:05 +08:00
1.工程概述
本工程原本是用于STM32F103的上位机(Windows)简易加密烧录方案,由两部分组成:数据生成器和数据烧录器。不过由于采用另外的方案,本方案停止开发,现用于代码片段截取。
1.1 数据生成器
数据生成器用于生成数据烧录器需要的加密数据,一般包括:程序文件hex加密后的部分及序列号(编程时的一个全局常量,用于区分不同的设备,类似于STM32的全球唯一ID)在hex/bin所在的位置长度信息。一般由软件开发者使用。
1.1.1 主要的功能
- 读取axf/out/hex程序文件,并生成加密文件(使用AES ECB加密)。
- 如果读取的文件是axf(Keil的程序文件后缀)或者out(IAR的程序文件后缀),即读取的文件是elf文件,使用libbfd读取其符号表,找出全局只读变量,供用户选择,然后将选中的变量作为序列号保存其信息。
1.1.2 开发进度
基本功能开发完成,测试也正常。开发工具:wxDev-CPP。
1.2 数据烧录器
数据烧录器用于加载数据生成器生成的数据,完成烧录功能(同时完成序列号的修改,保证其唯一性)。一般由生产工厂使用。
1.2.1 主要的功能
- 加载数据生成器生成的数据。
- 加载烧录插件(dll文件)和hex修改插件(dll文件)。
1.2.2 开发进度
程序主体开发完成,测试也正常。程序插件未开发完成,只测试了利用openocd+CMSIS-DAP对STM32的烧录插件。主体程序开发工具:WxDev-CPP,插件开发工具:Codeblocks。
2.程序目录说明
程序目录下的.axf,.out,.hex,.bin均是测试使用的程序文件。
- Data_Generator (数据生成器,测试通过)
- Data_Programer (数据烧录器,主体程序测试通过,插件编写未完成)
- Jlink_plugin_Backend_win32 (Jlink插件,无法使用)
- openocd_plugin_backend_win32 (openocd插件,简易测试通过)
Description
Languages
C++
73.4%
C
16.4%
Objective-C
4.7%
Tcl
3.8%
Shell
1.1%
Other
0.5%