1-Windows下环境配置
可以在Windows上使用命令行或者IAR IDE编译SSDK项目。Windows编译依赖的工具已经包含在
prebuilts/windows 目录中,包括编译器、Python和命令行工具。
1.1.1 CMD
SSDK集成 msys 工具,可以在Windows命令行中完成SDK的配置、编译和打包。编译前需要将 msys
的路径添加到用户环境变量中。可以使用SDK集成的脚本添加环境变量,双击SSDK目录下的 setupenv.bat 脚本即可,执行效果如下:显示下面这种就是成功了。
注意:
如果安装过MinGW/Cygwin等Windows上类UNIX模拟环境,可能会出现与SSDK
中MinGW版本不一致而导致SSDK编译失败的问题。这种情况下需先卸载安装 的MinGW/Cygwin,然后测试编译功能。 如果运行
setup-env.bat 失败,可手动将
D:\repo\ssdk-alpha\prebuilts\windows\msys\usr\bin 添加到系统环
境变量path中,然后重新打开cmd窗口即可。
1.1.2配置SDK
SSDK使用Kconfig进行配置,以e3_gateway工程为例,在SSDK目录下,输入以下命令启
动menuconfig,其中 -b 指示BOARD, -p 指示PROJECT, -c 指示CORE(可以是sf, sp0, sp1, sx0,
sx1)。如下命令
sh build.sh -b e3_gateway -p xip>output.txt
启动成功后显示界面如下:
1.1.3 GCC编译
在CMD工具下,执行以下命令即可启动GCC编译,其中 -b 指示BOARD, -p 指示PROJECT。
如下命令:后面必须加上>output.txt,否则会进入无限循环中。
sh build.sh -b e3_gateway -p xip>output.txt
如下如:
1.1.4 生成PAC包
GCC编译完成后自动打包PAC镜像,PAC包位于 boards$(BOARD)\build$(PROJECT)\gcc\ 目
录下,烧录到OSPI Flash的镜像名为 ospi_KaTeX parse error: Expected group after '_' at position 31: …到eMMC的镜像名为 emmc_̲
(BOARD).pac 。可以使用芯驰提供的SDFactoryTool工具,通过USB烧录镜像。
PAC包的打包的方式由 boards$(BOARD)\sf\projects$(PROJECT)\pac_config.json 文
件控制。
1.2.1 IAR
SSDK支持通过IAR编译、下载和调试。
生成IAR工程
SSDK中已包含了E3参考板的IAR工程,工程路径在 boards/
(
B
O
A
R
D
)
/
b
u
i
l
d
/
(BOARD)/build/
(BOARD)/build/(PROJECT)/iar
文件夹下,用户可以直接双击 eww 文件打开该工程。
另外,SSDK也提供了IAR工程自动生成脚本,方便用户快速建立新的工程。以e3_gateway板为例,可
在CMD下运行如下命令行:
sh build.sh -b e3_gateway -p xip -iar
其中 -b 指示BOARD, -p 指示PROJECT, -c 指示core( -c 为可选项,不特殊指明时将生成所
有core的IAR工程)。生成完毕后的工程将在存放放在 boards/
(
B
O
A
R
D
)
/
b
u
i
l
d
/
(BOARD)/build/
(BOARD)/build/
(PROJECT)/iar 文件夹下。
IAR编译
以E3640芯片(用于e3_gateway参考板)为例,打开eww文件后会出现如下图所示5个Project,每
个IAR Project对应一个CR5核。
• 单个Project编译:可通过下图中(1)或(2)菜单栏选择需要编译的Project,然后通过选
择Project→Make(或Rebuild All)进行编译;
全部编译:也可按住Shift键选择所有的Project进行编译,如下图所示;
生成PAC包
IAR IDE编译完成后自动生成PAC包,PAC包位于 boards$(BOARD)\build$(PROJECT)\iar
目录下,烧录到OSPI Flash的镜像名为 ospi_KaTeX parse error: Expected group after '_' at position 31: …到eMMC的镜像名为 emmc_̲
(BOARD).pac ,可以使用芯驰提供的SDFactoryTool工具,通过USB烧录镜像。
PAC包的打包的方式由 boards$(BOARD)\sf\projects$(PROJECT)\pac_config.json 文
件控制,关于该文件的解析详见“打包配置文件”小节。
在IAR中Flash烧录
IAR镜像可以通过IAR Flashloader下载到NorFlash中,用户可操作单个Project对单个核的镜像进行下
载更新。这里以Gateway板卡为例进行说明。
- 选择Boot模式:IAR镜像下载需要在JTAG(1110)模式下,如下图所示:
- 选择需要下载的Project(CR5核):可通过workspace窗口选择当前需激活的Project,具体截图
可参考编译IAR工程章节; - 选择Flashloader运行核:由于Flashloader需要运行在SF核上,所以在下载其他核的镜像时也需
要Attach到SF核上,将Project→Options→Debugger→Extra Options中的Use command line
options选项去除掉,则会默认Attach到SF核上;
- 开始下载:选择Project→Download→Download active application开始下载,下载过程中会弹
出窗口显示Programming flash memory,当进度条完成则表示下载完成,此时串口也会打印
“Flashload finished”字样; - 重新启动:下载完成后,拨码开关拨到XSPI1 Nor Flash(0000)模式,重新上电后则可正常启
动。
IAR调试
IAR IDE支持在线调试功能,用户激活待调试核对应的Project,选择Project→Attach to Running
Target,则可对该核进行在线调试。
注意
在调试模式下,请确保Project→Options→Debugger→Extra Options→Use
command line options选项被勾选上,否则会默认attach到SF核上。
1-使用IAR调试出现芯片无法识别
在调试芯驰E3开发板时,出现芯片识别不到,原因是因为,这个官方demo板子我个人认为是存在问题的,如果调试的时候出现这种情况,需要全部拔掉所有的线,然后再进行上电调试。同时拨码开关也要注意。是0111这种。
2-调试时出现地址全为0的情况以及无法跳出启动文件
是他们提供的例程有问题,E3提供的1.0的例程是有问题的。与芯驰技术支持说明问题后,芯驰更新了E3的代码例程2.1.1版本,这个是可以用的。