其实这套东西也没完全配置完,但是至少能跑,继续记录下,很多东西其实也没配好,直接就用了合众达的设置了
1.VMWare7.0上的ubunto 10.01 LTS作为host,我觉得以后可能用个开源的virtual box可能会避免更多的商业上的问题- -
2.OMAP L138 SDK,TI官网有整套东西下载包括Davinci-PSP,CGTools,xdctools,dsp/bios等等
3,上面这些东西都配过很多遍了,于是只需要记录下一些有必要记录的东西,合众达准备了kernel,filesystem,uboot,uboot loader我尝试编译过uboot,ubl,kernel结果似乎都各有问题 - -出于时间上的考虑,暂时就全套都用合众达的了。不过filesystem我还是用了ti准备的一套。
4.一开始测试过直接用dsp忽略arm的使用方法,还要使用一个叫AISGen的工具生成二进制文件,但是烧入flash之后不知道会发生啥,于是测试继续终止
5.最终,就回到了dsplink+bsl的dsp使用模式
6.bsl测试代码跑通需要升级CCS到3.3.82以后,wintech的TDS560 plus仿真器亦要升级驱动,外加一些小的升级包,配合仿真器降频才能跑起来,记录下dsp/arm/ejb的仿真器端口0x11.0x12,0x13,其实我并不很懂这个哪里来的
7,dsplink的内存配置,要避开linux使用的内存,而且奇怪的是似乎不能使用超过128M的内存,开始遇到了各种问题,最后我把linux的启动内存空出16M给dsplink作为link memory使用,勉强解决了这个问题。1.6.5的dsplink的配置文件是<dsplink目录>/config/all/CFG_OMAPL138GEM_SHMEM.c和<dsplink目录>/dsp/inc/DspBios/5.XX/OMAPL138GEM/dsplink-omapl138gem-base.tci而arm linux的启动内存在uboot的boot args里修改
8.然后就是在dsp的make文件里面加上bsl lib的支持,然后,便是调整bsl库的驱动了
9记录下现在我在合众达bsl代码中的修改:
file omapl138.c:config_pll0
// disable external clock source.
SETBIT(PLL0->PLLCTL, EXTCLKSRC);去掉原本要关闭的外部时钟
// SETBIT(PLL0->PLLCTL, PLLDIS);
//CLRBIT(PLL0->PLLCTL, PLLDIS); 注释掉原来对pll的设置
然后勉强的把da跑起来了,另外我在几个函数结束的时候加了UNLOCK,完全无法理解行为
至于AD,那就等合众达的结果把 - -
10,把gpp端的编译从dsplink环境中抽出来,其实就是把make的那句话整个贴到自己的makefile里面去,设定了一堆define的数,外加包了dsplink的lib和头文件
就这样,一个还存在问题但是至少能输出的开发环境就配好了,配合qt理论上,应该能做一个不错的系统了吧