在嵌入式软件开发中,使用KEIL中 *.SRC是编写的,还是编译生成的

在嵌入式软件开发中,使用KEIL中 *.SRC是编写的,还是编译生成的,第1张

是编译生成的
就是C转成汇编的
要想生成它, 只需要在 Project 窗口中要生成汇编代码的 C 文件上右键,选择“Options for ”,点击右边的“Generate Assembler SRC File”使检查框由灰色变成黑色(有效)状态

GCC:是一套由GNU工程开发的支持多种编程语言的编译器。将程序代码编译成机器语言。
编译:1、利用编译程序从源语言编写的源程序产生目标程序的过程。
2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制
语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。 编译程序把一
个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查
和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称
为源程序分析,分析过程中发现有语法错误,给出提示信息。
汇编:把汇编语言翻译成机器语言的过程称为汇编,在汇编语言中,用助记符(Memoni)代替 *** 作
码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制
码,就把机器语言变成了汇编语言
连接:用来把要执行的程序与库文件或其他已经翻译好的子程序(能完成一种独立功能的程序
模块)连接在一起,形成机器能执行的程序。
调试:编好程序后,用各种手段进行查错和排错的过程。

1首先,建立交叉编译环境:交叉编译是指:在PC机上编译,在目标板上执行,我PC是linux+ arm-elf-gcc编译器扳子是ARM3000板子上的系统是uclinux,这时一个剪裁的很小的实时嵌入式linux *** 作系统推荐使用这个
2然后就是你写程序喽,不过注意可能有些库函数不能用,因为哪个编译器稍微受限一点,不是所由的c库函数都支持,不过一般开发的都有
3连起你的主机和开发板,这个你会不要连两个:串口(用来控制板子)和以太口(用来下载程序),我们板子上这些外设都有,你要使没有可以用其他的口代替传程序,但串口可是该有的阿!
4在你主机上编译程序生成目标代码,建议用makefile文件来组织你的联编关系
5把生成代码下载到目标板执行调试我是用的主机的NFS(网落文件)服务,下载到目标板的
6注:目标板是怎么控制的呢是用串口控制的,可用minicom,设置好你要控制的串口,也应该是你连板子的那个在命令行里敲上minicom,即进入minicom截面,开启你的板子,应该就是板子uclinux系统解压安装的画面了然后用ifconfig eth0
配置ip,这个ip就是你板子的ip了,注意与主机一个网段然后mount -t nfs 主机ip:/uclinux /板子上的一个目录,就把主机的 uclinux目录放到板子上了(这么说其实不合理,应该叫挂载) 然后找到你刚才一经编译好的哪个目标代码执行即可
因不了解你的具体环境和配置,暂说这些,有问题可再联系:)

对于每一块主流的嵌入式芯片,都会有已经移植好的linux内核源代码,你需要购买某些开发板,他们都有配套内核源代码。编译内核的课程可以讲好几个小时,我无法简单回答。开发板都有配套视频教程,你必须看视频。内核这东西不需要追求最新版本。
直接在官网下载的内核都需要修改 移植到你的开发板上才能运行 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13162920.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-14
下一篇 2023-06-14

发表评论

登录后才能评论

评论列表(0条)

保存