社区
驱动开发/核心开发
帖子详情
关于DSP中C源码到目标机指令集的映射问题
wumingguoguo
2010-10-23 09:58:08
现在有目标机的指令集,要做的工作是将C编译到汇编指令,但是目标机指令集里面的有些指令是不需要的,也就是说C语言编译后根本不会生成那种指令的汇编。
但是我不确定怎么才能找出所有的不需要的指令,请问有没有什么可循的规范???
或者有没有什么资料讲C只能翻译成哪些类的汇编码???
...全文
64
1
打赏
收藏
关于DSP中C源码到目标机指令集的映射问题
现在有目标机的指令集,要做的工作是将C编译到汇编指令,但是目标机指令集里面的有些指令是不需要的,也就是说C语言编译后根本不会生成那种指令的汇编。 但是我不确定怎么才能找出所有的不需要的指令,请问有没有什么可循的规范??? 或者有没有什么资料讲C只能翻译成哪些类的汇编码???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wumingguoguo
2010-10-24
打赏
举报
回复
具体的问一下,DSP超级用户模式下的指令,有没有可能从C语言编译得到?
SkyEye教程
对于那些想进行嵌入式系统软件开发和学习,或者想研究嵌入式Linux等操作系统和一些底层系统软件(如TCP/IP等)的研究和开发人员来说,可能存在如下几方面的
问题
:(1)经常苦于经费不足,缺少足够的硬件开发板和完善的软件开发环境,相关的书籍对一些最新软件的分析还不够全面,无法深入研究和开发嵌入式软件。(2)高层次的软件设计和开发一般不用太考虑底层硬件的实现细节,如果直接处于一个具体的硬件环境下,在开发和研究
中
可能会陷入硬件的具体细节
中
不能自拔,而不能把精力放到高层次的软件设计和开发上。(3)如果硬件开发环境不太稳定(这种情况经常见到),且对具体的硬件不是很了解,则可能在排除
问题
上花费大量的不必要的时间。(4)如果你想自己尝试设计一个操作系统,则先在一个提供
源码
级调试的软件仿真器上进行开发,可能会大大提高你的开发进度。<br><br>对于想了解、学习一般操作系统的实现原理,Linux/μCLinux操作系统或TCP/IP等系统级软件的实现的人员,目前一般采用的方法是看书和读源代码,这是一种静态的学习方法,效率较低,比较枯燥,缺少亲自实践的感觉。要想深入分析和开发软件,就要动手编程,不能只是看看书,读读代码,只有通过亲手实践才能够掌握软件设计的核心内容。上面所指出的
问题
和需求促使SkyEye项目的诞生。 <br><br>3.SkyEye的
目标
和意义 <br>SkyEye是一个开源软件(OpenSource Software)项目,
中
文名字是"天目"。SkyEye的
目标
是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算
机
系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行
源码
级的分析和测试。<br><br>3.SkyEye的
目标
和意义 <br>SkyEye是一个开源软件(OpenSource Software)项目,
中
文名字是"天目"。SkyEye的
目标
是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算
机
系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行
源码
级的分析和测试。<br><br>纯软件的模拟器有许多种,如模拟一个芯片时序逻辑的模拟器、只模拟CPU指令的模拟器、模拟整个硬件开发板的模拟器、模拟一个PDA的模拟器等。存在一些纯软件的仿真器或模拟器,如Stanford大学的SimOS模拟器,它仿真的是MIPS系列CPU和相关外设,可以在其上运行SGI公司的Irix操作系统和软件,目前基本上停止了进一步的开发;PSIM是一个仿真PowerPC
指令集
的模拟器,目前只支持简单的命令行应用程序;xcopilot是一个PDA模拟器,它是由Greg Hewgill出于个人喜好编写的,它仿真的是M68K CPU,通过它可以给基于PalmOS的软件开发者提供一个模拟开发环境。Bochs是一个仿真x86 CPU的开源项目,目前还支持AMD64 CPU,在它上面可以运行Linux操作系统。其它一些商业的仿真软件如vmware和virtualPC可以仿真一个真实的x86计算
机
,而Virtutech Simics仿真器可以仿真多种CPU和硬件,功能强大,可用于硬件和系统软件的评测。<br><br>SkyEye是一个指令级模拟器,可以模拟多种嵌入式开发板,可支持多种CPU
指令集
,在SkyEye上运行的操作系统意识不到它是在一个虚拟的环境
中
运行,而且开发人员可以通过SkyEye调试操作系统和系统软件。由于SkyEye的
目标
不是验证硬件逻辑,而是协助开发、调试和学习系统软件,所以在实现上SkyEye与真实的硬件环境相比还是有一定差别的。SkyEye在时钟节拍的时序上不保证与硬件完全相同,对软件透明的一些硬件仿真进行了一定的简化。这样带来的好处是SkyEye的执行效率更高。SkyEye的推出具有下面三方面的意义:<br><br>通过SkyEye仿真集成环境可以很方便地进入到嵌入式系统软件学习和开发的广阔天地
中
。尤其对于缺少嵌入式硬件开发环境和软件开发环境的用户来说,它将是一个非常有效的学习工具和开发手段,因为SkyEye的整个软件系统都是Open Source的,且基于GPL协议(μCOS-II除外)。因此,如果要学习Linux操作系统或者进行嵌入式系统开发,但苦于没有硬件支持,SkyEye仿真环境软件是一个很好的选择! <br>如果想研究与具体硬件无关的系统软件(如TCP/IP协议栈等
[车联网安全自学篇] Android安全之ARM汇编
指令集
手册「精简汇总版」
PC端领域CPU的老大是Intel,而移动设备CPU老大就是ARM。不同的cpu架构对应不同的
指令集
。Intel和ARM两大阵营还可以再细分。Intel的架构
中
x86代表32位cpu,x86_64代表64位的cpu,x86汇编语言学习最为普遍。ARM架构也有32位和64位之分。使用apktool对app进行反编译,lib下得到三个包含so的文件夹armeabi : 32 位 arm cpu 库,几乎所有手
机
都支持。
CEVA-X16自由式编程-2-编写第一个“应用程序”
因为我也是尝试了很久才意识到这个
DSP
的VLIW特性,流水线上同时执行的多条指令之间可能产生资源冲突,但对于很多VLIW的
DSP
、GPU来说,它们硬件本身并不会处理这种冲突,这个工作交给了编译器做。我这里的NOP是随意插入的,并不一定是最优的。因此在ARM上,我们只需要把想让
DSP
读取的指令写入0x70000000,如果
DSP
程序正常的话,就可以在0x70000004上得到
DSP
读取的值了。这不仅说明我们的第一个
DSP
程序已经正常运行,也验证了在这个平台上,
DSP
的代码和数据空间合并成了统一的空间。
CSR8675的
DSP
学习笔记——离线调试与仿真
写在最前面: 很多读者反馈希望可以有硬件平台配合学习。现与思度科技联合推出CSR867x学习板【淘宝链接:思度科技CSR867x学习板】,进QQ群获取激活码购买学习板享受如下优惠: 1. 价格优惠 2. 免费提供开发教程和项目
源码
3. 免费提供入门级技术支持 QQ群号:743434463 —————————–正文分割线——————————— 1. 引言 CSR8675的
DSP
...
ucos-ii在ti
dsp
28377芯片上的运行过程和移植过程
2017/2/10 ucosii在ti
dsp
28377 芯片上的运行过程和移植过程 havihouston 博客园 http://www .cnblogs.com/havihouston/p/6387631.html 1/10 1、移植过程 在将ucos移植到28377d平台上时主要遇见了下面几个
问题
, 1) 文件怎么组织,是通过修改micrim上提供的28335一直代码修改
驱动开发/核心开发
21,600
社区成员
21,708
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章