用于hr4256下载的uart 上位机软件

fengbh 9bd084469b 增加调试参数设置说明 1 سال پیش
.vscode 9371c411f8 增强 vscode 调试的可移植性 1 سال پیش
tools 28e43b6ecc 增加功能:frame_case 缺省参数时读取默认配置 1 سال پیش
.gitignore 23e8ef9e63 update 1 سال پیش
ReadMe.md 9bd084469b 增加调试参数设置说明 1 سال پیش
mingw-get-setup.exe 8e2ae3c484 copy from caibo 1 سال پیش
mingw安装.txt 8e2ae3c484 copy from caibo 1 سال پیش
rs485_dtpro支持的帧.docx 8e2ae3c484 copy from caibo 1 سال پیش
tools.zip 8e2ae3c484 copy from caibo 1 سال پیش
上板bat case.xlsx 8e2ae3c484 copy from caibo 1 سال پیش

ReadMe.md

一、编译

项目中有两个编译脚本;

编译tool 下的文件(包含用于下载的, uart_downloader.exe)。生成的文件在 bin 目录下:

cd tools

.\compile_all.bat

编译testcase 下的文件,生成的文件在bin 目录下:

cd tools\testcases
.\compile.bat

二、运行testcase

请在testcase 目录下运行程序,

testcases 目录下生成的程序, 默认从 运行目录中读取 config.json配置文件。 

默认的config.json 在testcase 目录, 所以建议在testcase目录下运行程序。

示例: 使用默认配置

..\\bin\\hr4256_m1_tdi_forward_situation1.exe

示例:使用自定义配置

..\\bin\\hr4256_m1_tdi_forward_situation1.exe config_file.json

三、下载程序

示例:

..\\bin\\uart_download.exe COMX resistor_addr 0xf0000000 program-o3lto.mem

下载程序不支持从配置文件读取配置的方式。

四、调试程序

请确保 g++ gdb 程序的路径已加入环境变量可执行路径中,在终端可以直接调用

请确保 vscode 已经安装扩展C/C++(C/C++ IntelliSense, debugging, and code browsing)

本工程的.vscode目录下提供已经配置好的调试配置文件,在此基础上只要按照下面的步骤即可调试程序。

  1. vscode C/C++扩展 设置编译器路径Ctrl shift + P 快捷键:CTRL + SHIFT + P 在弹出的对话框中输入

    C/C++:Edit Configurations (UI)
    

选择对应的匹配项。

在编译器路径下拉框选择自己电脑上对应的路径。

  1. 然后打开要调试的文件,设置断点,F5即可调试
  2. 程序的参数输入在 .vscode\launch.json 文件中设置(如下图所示)

调试配置.png

五、Case 转换

脚本基于 Makefile 和 sed编写 用于将仿真用的Verilog case 转换成 对应的 cpp 文件。 脚本主要是辅助完成一些机械化的替换工作,执行脚本后仍需手动再进行替换。

在 tool\testcases 目录下有个Makefile 脚本用于半自动化转换过程 case转换的步骤如下所示。

  1. 复制 case 的sv 文件 为cpp 文件。

    cp .\software_tasks\software_tasks_test10\software_tasks_test10.sv .\software_tasks_test10.cpp
    
  2. 执行命令

    mingw32-make.exe all clean file=software_tasks_test10.cpp
    
  3. 然后请参考其他case 的例子手动完成剩下的转换

  4. 使用Makefile 编译

除前面提到的编译脚本外,也可使用Makefile 编译

   mingw32-make.exe software_tasks_test num=10

六、配置文件-config.json

配置文件采用json格式,json数据解析使用nlohmann-json开源库实现。

示例程序中默认包含以下几个配置:

  1. UART0_COM :UART0的COM号, 示例程序中均使用UART0作为程序下载、命令发送、命令接受的串口。
  2. UART1_COM :UART1的COM号,目前示例程序未使用该参数。
  3. resistor_addr:命令帧的电阻地址,该值需要和板子上的电阻地址相同,否则命令帧不会被正确接收。
  4. chip_param:芯片参数设置帧使用的芯片参数。

用户也可根据需求,增加自定义参数。