专家好!我买了一块DM8127开发板,看了资料一段时间以后,始终还是不明白如何开始程序的开发。把我的疑惑总结为以下几个问题:
1)对DM8127的上电启动过程,以下理解对不对:A8核的u-boot和linux内核首先启动,然后是调用ipnc_rdk_mcfw.out运行应用程序,ipnc_rdk_mcfw.ou则将ipnc_rdk_fw_c6xdsp.xe674、ipnc_rdk_fw_m3video.xem3、ipnc_rdk_fw_m3vpss.xem3分别加载到DSP和dual M3核,使DSP和M3核的bios系统和应用程序处于就绪状态。
2)对A8应用程序的开发,以下理解对不对:应用程序的开发要基于IPNC-RDK开发包,比如说想构建一个McFW的应用程序,则可以参照\ipnc\Source\ipnc_rdk\ipnc_mcfw\demos\mcfw_api_demos\multich_usecase这个例子,即在这个demo上进行程序的修改,修改完成以后在\ipnc\Source\ipnc_rdk目录下进行make -s mcfw_linux,就可以生成相应的可执行文件。
3)对驱动程序开发,以下理解对不对:驱动程序的开发同样要基于IPNC-RDK开发包,比如想要添加一款sensor驱动,那么就在\ipnc\Source\ti_tools\iss_03_50_00_00\packages\ti\psp\devices目录下,仿照其他型号的传感器添加驱动程序文件。
4)交叉工具链:如果2)和3)是对的,那么编译自动会调用\ipnc\Source\ti_tools\linux_devkit\bin中的arm-arago-linux-gnueabi工具链进行编译,也就是说主机上不需要另外安装交叉工具链吗?
5)如何调试程序:如果2)和3)是对的,那么在开发过程中肯定需要调试运行程序,一般的arm程序是基于gdb+gdbsever来设置断点等等进行调试,那么对于IPNC-RDK中的程序如何利用gdb+gdbsever进行调试?如果是主机自己安装,相应的gdb+gdbsever版本有没有要求?我的主机用的是ubuntu16.04的64位操作系统,这个版本行不行?
上述这些问题是不是有相关的manual有详细说明,我是不是错过了什么重要的文档没看?
十分渴望能得到专家的解答!谢谢~
Huchong Li:
回复 Chris Meng:
明白了,感谢Chris Meng的解答!