在7月底放假之前就想着把6416上仿真的自己的仪表识别算法的操作细节整一篇日志,但是假期的诱惑力实在是太大了,我从小学就是寒暑假前拿一包书回家,假期结束后,再把一包书原样拿回来,现在这个陋习还是没改,直接导致7月份代表搞科研力度的日志只有一篇,缺乏控制力真的是不行的。
其实,在6416上跑,算法和5416上也没有大的变化,主要是DSP本身的改变很大,下面就首先说说对5416和6416之间的一些对比感受。总的来说,就是低端的片子和板子更锻炼人,硬件设计肯定不如后来的片子成熟,使用起来很多东西都是需要自己弄清楚和配置的。第一,存储配置上5416要PMST寄存器和cmd文件规划存储介质的使用,而6416不但片内存储资源较大,而且使用起来也不比像5416那样明确的分配到程序区和数据区,甚至是分配到cmd文件的“块”;第二,从时序的控制上,5416的时钟是可以自己配置的,在上电复位后有对应的引脚给出初始配置,应用程序中,可以用一个CLKMD寄存器负责软配置,而6416的片内时钟频率更高,而且固定,不用考虑和修改;第三,从访问片外存储的时序考虑来看,5416有一系列的寄存器来管理时序,如SWWSR、SWCR、BSCR等,而6416有统一的EMIF来管理扩展的外部存储。第四,就是从芯片的工作模式上来看,我们可以把5416叫做16位处理器,6416叫做32位处理器,因为从二者的dat文件的行宽上来看,一个是16bit的,一个是32bit的,这代表了两种CPU一次性处理数据的能力,需要注意的是,二者默认都是工作在小端模式的,所以在进行bmp文件和dat文件的相互转换时&