刚开始学6000时估计都会很迷糊的。估计在这学dsp的N多是学51出身的,反正按照俺的想法啊,学dsp不学硬件,不懂硬件,这东东没办法弄了,怎么编程啊???
汪洋觉得应该就这些问题大家探讨一下,把你当初的迷惑,和后来的解决思路写下了,这样啊,一来呢,对自己过去一段时间的工作和学习是一种总结,一种升华,一种进步。而来可以给后人留下一些宝贵的技术资料。其实咱们工科的学生都有一个通病(不能算是毛病),那就是干活做东西都当当的肯定没问题,甚至都会加班加点的干,可是咱们普遍不习惯写东西,不注重总结。君不见咱们老一辈中的好多绝活好多秘方都失传了啊,与这是有很大关系的。估计你们啊看到这就烦了,什么乱七八糟的啥呀,那好,废话俺就不多说了,开始正文。
1从硬件角度。
现在学6k的估计手头不是有开发板就是用实验箱了,很少有人说自己先焊块板子,在拿来做为学习6000用(如果你有这功夫,哥们你也不用学了,够牛x,神仙了)。
学到这估计很多人就要犯嘀咕了,到底要不要自己做硬件啊?其实6k跟其他的有很大不同,它引脚套多了,系统太复杂了,一般都要弄4或6层板的,有几个人做的了啊。做硬件的人都知道,一个人硬件做的好,他靠的是啥啊,是经验,是他在这方面的失败或成功的经验啊。我们实验室有个老教师特牛逼,pcb板是我们学院Number1啊,他做出来的板子可以这么说,根本不用调,直接就可以拿来用。人家靠啥,靠的就是经验啊(想当年人家画pcb板用的是直尺和铅笔哦)。
想想咱现在要花很大精力去学多层板设计,非老大劲就算设计出来了,做出来了,能不能用还是个问题呢。其实TI早就给咱把这个问题给想到了,并给出了解决方案:那就是开发板,大家要做什么系统的话就去买个开发板,如果能实现系统全部功能的话那更好,倘若不行的话就外扩个子板,这样设计起来就简单多了不是。
当然如果你硬件超牛,以前就做过多层板的设计的话,也可以自己开发,不过这样的人毕竟是少数。
2软件设计来说了。
其实说到这才跟题目有点关系了。
前面说到了,这里N多人是从单片机过来的,其实我也是啊。当时一上手6000发现傻眼了,这程序怎么能这样编呢,怎么c语言的主函数代码在main函数外边执行呢,当时把我弄得恁郁闷,(嘿嘿,大家不要笑我啊)。
后来才知道有个bios,才弄懂原来人家用的是系统啊。以前我写过一篇与bios有关的帖子,里面对他做过简要的介绍,这里再写就重复了不是,感兴趣的就在过去浏览一下那个帖子,顺便也给汪洋增加点人气。
为什么非要用bios呢,其实就是因为6000给我们提供的东西太多了,他功能太强大了,强大到,你用以前单片机开发的思路使用它就是一种浪费。你如果像用51那样直接在裸机上跑程序,就好比让别克车在乡村土路上跑似的,虽然也能跑,可是它的速度优势就发挥不出来了不是。
3 用不用系统的问题
我觉的这要看你的水平了,因为你要真想把系统搞的比较透彻,那需要相当的功底的,别的不说,就操作系统和编译原理这两门课在坐的各位有几个学过的,或是没学过但通过自己的自学搞的挺透彻挺明白了,估计没有把(反正是不太懂,书倒是看了,可跟没看差不多)!!如果有的话,可以不客气的说你绝对是牛人,bios对你来说那就是小菜了,你甚至可以不用ti的bios,考虑把os2或其他系统嵌进去了。
一开始的时候呢,我觉的把它当个单片机来用还是比较好的,这样有助你深层次理解它的硬件结构和dsp的编程思路,毕竟用bios的门槛太高了。等你感觉用的差不多了再回过头来使用bios,汪洋觉得这条路还是比较适合大多数人的,不知道大家怎么想的?因为我一开始就用了系统,后来发现用起来很吃力,用别人的程序框架做的系统都跑不起来,出了错误还不知道去哪改去,郁闷至极,希望大家不要像我一样走同样的弯路拉。
但是如果你的系统中有好多资源需要管理,比如说有视频采集、处理、显示甚至是多路;音频采集等,还有网络通信等,这时就最好用系统了,因为这时系统太大,不使用操作系统就很难对他们进行统一管理,系统很可能就不能正常运行。
闲来写点东西,可能好多地方并不是很严谨,还可能有好多错误之处,希望大家能批评指正出来,大家一块学习,共同进步,这也是我们Hellodsp的网站宗旨!!