一般的linux *** 作系统在启动初期的初始化就是串口、中断、定时器。
不过DSP的指令集比较复杂,你需要自己移植,然后现在还没有适合DSP的GCC交叉编译器。
过程太复杂。
不过可以尝试自己写一个 *** 作系统放在DSP上。
DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数 字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外 部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的 空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度 。另外还允许在程 序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其 他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器, 是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用 软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内 *** 作的多个硬件地址产生器;
(7)可以并行执行多个 *** 作;
(8)支持流水线 *** 作,使取指、译码和执行等 *** 作可以重叠执行。
当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
linux下将C语言编译为汇编代码,需用-S参数: 编译命令为: $ gcc -S s1.c 如下代码: void fun(int a,int b){ /*这个函数什么也不做*/}int main(void){ fun(100,200)return 0}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)