本介绍不使用SDK自动生成的BSP,而手动建立zynq的SDK工程的一般方法并解决出现的一个错误。
Xilinx的工具的确非常强大,从vivado到SDK中软件编程,大多数事情都可以使用鼠标点击设置即可完成,这固然对快速开发有很多好处,但是对于初学者,却不那么合适了,这会导致初学者只知道如何操作而不知道具体原理,即知其然,而不知其所以然。所以这里给出不使用SDK中自动生成的BSP,而软件工程全部手动建立。可以对BSP和vivado在zynq中PS部分设置稍有理解。
建立SDK工程
vivado部分不变,配置好zynq,导出硬件,Launch SDK。
在SDK中File->New->Project…;然后从C/C++下选择C Project,点击Next后可以看到以下窗口
同图中,输入工程名,选择Xilinx ARM Executable,Next->Finish即可创建工程完毕;然后在工程下创建src目录(当然不用也可)
src目录中新建boot.s启动汇编文件,指定0地址的内容,即指定复位中断执行的命令(当然这里复位中断用了两条指令,占用了未定义指令的空间,所以要使用未定义指令中断则需修改),内容如下