看了一下DSP的入门资料,感觉都有一个通病,就是把真正的DSP入门第一步全忽略了。
这里用撒网捕鱼打个比喻
一些所谓的入门,说不好听的,就是大段大段的吹嘘DSP多么厉害,能在很短的时间里处理多少多少事,有多少种分类,TI如何如何,其他又如何如何,不厌其烦。这种东西太多了,我们学DSP自然就是因为它性能好,用不着你在那夸。 这属于说鱼好吃,但是不讲怎么捕鱼的。
有一些,上来就就是寄存器、流水线、指令集的。全是陌生的词汇,把新手说晕头晕脑。这属于讲,鱼是怎么回事,网是怎么回事,就是不说两者是什么关系的。
在来,是讲编程的,什么是汇编,什么是C,如何实现算法,如何使用编译器,这属于讲怎么用网的,有什么撒网技巧。
但最关键的,如何把网撒出去,就那撒的动作,没有人讲,于是新手那着网,看着鱼,脑子里是撒网技巧,可手上的网就是撒不出去,不知道是先抬左手,还是先抬右手。
撒的动作是什么,就是跑第一个闪灯程序,但是到现在,我没看到一篇,哪怕是最粗略的讲一下闪灯的程序的介绍。
或者说,一个能运行的DSP程序应该是什么样的框架。比如头文件该是什么样的,程序开头哪些工作要做,都没有讲。
就像我当年学51,如果不是偶然的在一本讲51的书上找到了一个汇编程序的框架,都不知道我要到什么时候才能写出程序出来。
那时我已经知道要用ORG定义程序的起始跳转和中断跳转,要重定义SP,但是哪个在前,那个在后,不信大家去翻书,绝对没有讲,一个可运行的程序,应该是一个大循环的程序,书里也绝对找不到这句话,也许它例程里是循环了,但压根就没有明确提出过。
51如此、PIC如此、ARM如此、DSP也如此。
会走路的人,没人注意自己是先迈的那只脚、迈多大,以为那是自然的、不用脑子的;给别人讲时,就把这第一步当成是自然的,不需要讲的,但是对于学走路的,就是这第一步,才是至关重要的啊! |