一. 前言
程序 USB pac 打包下载是芯驰芯片程序烧录的一种方式,程序打包为 pac 包,方便进行对二进制可执行固件代码进行端到端的移动,使用 USB 模式单纯下载固件相较于 JTAG 方式有以下优势:
① 下载速度快;
② 芯片在 USB 模式下,程序下载不会受到程序运行的影响(可用于程序跑死后的芯片恢复)。
二. pac 打包
-
SDK 程序打包
a. 首先要编译要打包的工程,对于 ssdk\boards\e3_gateway\driver_demo\power\rtc_wakeup_pin 路径下的 RTC 唤醒的工程,这里注意要使用 Debug 工程,否则在下面运行打包脚本时会出现找不到 saf.bin 的报错。
b. 在 ssdk 路径下运行 cmd 命令,弹出控制台
图 2. 在 SDK 路径下打开控制台
c. 在 CMD 控制台中输入
.\prebuilts\windows\python-3.7.0\python.exe .\tools\genpac.py -b e3_gateway -p driver_demo/power/rtc_wakeup_pin -f .\devices\E3640\pacconfig\pac_config_sf.json --chipid=E3640 -d dloader
① 对于开发板,选择在 ssdk\boards 下的几款名称
-
图 3. 选择开发板名称
② 对于开发板下的工程,选择到包含 “IAR” 文件夹的路径即可
-
- 图 4. 选择工程路径
③ 对于打包配置文件,要在 “ssdk\devices” 下面选择芯片型号,针对程序要下载的存储介质和 CPU 内核进行选择
-
- 图 5. 选择芯片型号和配置脚本
-
以 pac_config_sf_norflash.json 和 pac_config_sf.json (hyper flash)做对比,发现主要的区别是对不同的存储介质,一些名称和类型标签的名称有所改变,另外 boot0_addr、boot1_addr 和 boot2_addr 的地址有所变化,flash 加密的 start 和 end 地址有所变化。
-
图 6. 对比两个配置脚本
d. 命令执行完成后,将在 ssdk\boards\e3_gateway\driver_demo\power\rtc_wakeup_pin 下生成 emmc_e3_gateway.pac 和 ospi_e3_gateway.pac 分别对应 emmc 和 flash 两种存储介质的 pac 包。
图 7. 生成 pac 包位置
-
Mcal 程序打包
a. 打开工程进行编译
使用打包下载需要将工程切换到 Release 配置,Debug 和 Release 的区别是 Debug 只支持 IAR 下载,Release 只支持 pac 打包下载。
图 8. 选择 Release 版本进行编译
b. 进入 MCAL 下的 E3\Semidrive_AutoSAR_MCAL_package_v3.0.0\MCAL_release 路径,打开 CMD 控制台
图 9. 在 MCAL 路径下打开 CMD 控制台
c. 输入以下命令
.\tools\mcal_genpac.exe -p E3_ref_gateway_E3640 -v IAR
图 10. 在控制台输入打包命令
d. 程序运行完成后将在 MCAL_release\iar\iar_v850\E3_ref_gateway_E3640 下生成 ospi_E3_ref_gateway_E3640.pac 的 pac 包
图 11,12 打包生成 pac 包
三. pac 包下载
-
打开 SDToolBox,如果没有 SDToolBox,到芯驰官网下载,点击 SDFactoryTool
图 13. 点击 SDFactoryTool
-
点击 + 号图标按钮
图 14. 点击 + 号图标按钮
-
在 ospi1 的路径下选择工程路径下生成的 pac 包,之后点击 OK 关闭窗口。
图 15. 打开 pac 包
-
选择芯片的运行模式为 USB 模式
一般开发板上会有四个拨码开关分别控制芯片的 A3~A0 四个引脚,通过芯片的数据手册可以知道, USB 模式对应的四个引脚的电平为 1000,拨动拨码开关为 1000 后重新上下电,即可使芯片进入 USB Boot 模式。
-
点击下载按钮进行下载,完成后将出现绿色的 Passed 字符,选择右边的 Stop downloading 按钮完成下载。
图 16. 下载程序
-
运行程序需要把拨码开关拨到 0000 的状态,然后重新上下电,程序即可运行。
三. 参考资料
1.《E3400_E3600_MCU_TRM_Rev01.00.pdf》2. 《E3400_E3600_MCU_Datasheet_Rev01.00.pdf》
评论