arm开发板如何运行自己写的程序

我在电脑上用c写的串口程序,电脑是ubuntu系统的,现在想放到开发板上运行,开发板已经被我刷成了linux系统,有操作系统,我把程序(名字receive.c)拷贝到开发... 我在电脑上用c写的串口程序,电脑是ubuntu系统的,现在想放到开发板上运行,开发板已经被我刷成了linux系统,有操作系统,我把程序(名字receive.c)拷贝到开发板上,gcc编译,板子显示gcc:not found,后来又直接把电脑上编译后文件a.out放到开发板上执行,可是显示错误信息,在电脑上是没有问题的。请教了一下同学,他们有的说gcc是编译x86的,开发板上不行。好像要交叉编译。本人以前没有接触过这一部分,求高手指导一下。谢谢,没有积分了。回答的好可以给以其他奖励。 展开
 我来答
霸王TA210
2014-11-14 · 超过69用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:59.3万
展开全部
用户程序insmod 核心模块加载:具体如下:

核心模块编译完成后,基本上是个未经符号定位的目标文件(object)(当然,如果这个object又是一些子object经过ld -r生成的话,则子object之间的符号定位是已经完成的),object是一种可重定位的代码,它可以加载到不同位置的内存执行。而真正加载进核心,并成为核心的一部分,则是用户程序insmod和核心几个系统调用共同完成的。在此过程中,insmod主要完成或通过系统调用完成以下的工作:
1)由参数找到模块文件,如insmod foo.o,模块文件就是foo.o,根据模块文件计算出模块文件所需的内存大小
2)调用系统调用create_module,为该模块分配核心空间内存
3)调用系统调用query_module,得到核心提供的符号表,与系统调用create_module的返回值(核心模块首地址)加在一起对模块进行重定位。
4)在用户空间为核心模块分配内存,并往该段内存复制一个经过定位的object映象。
5)调用系统调用init_module,将用户内存中的模块映象copy到相应的核心空间(首地址为create_module的返回值)。
6)释放用户内存,中止insmod运行。
如果一切顺利,没有出现未定位的符号,则核心模块object就融入系统,成为系统的一部分了。
核心模块的加载过程对核心来说实际是个“静态链接”的过程,这和用户程序动态链接运行过程再链接需要的代码还是不太一样的,当然,object的可重定位特性保证了链接后的代码正常运行,这点倒是比较相似的。
以上回答你满意么?
追问
你这是回答的什么,请不要复制,自己写通俗易懂点回答我问题
凌莺铛菩
2015-12-15 · TA获得超过4175个赞
知道大有可为答主
回答量:2055
采纳率:39%
帮助的人:467万
展开全部
用户程序insmod 核心模块加载:具体如下:

核心模块编译完成后,基本上是个未经符号定位的目标文件(object)(当然,如果这个object又是一些子object经过ld -r生成的话,则子object之间的符号定位是已经完成的),object是一种可重定位的代码,它可以加载到不同位置的内存执行。而真正加载进核心,并成为核心的一部分,则是用户程序insmod和核心几个系统调用共同完成的。在此过程中,insmod主要完成或通过系统调用完成以下的工作:
1)由参数找到模块文件,如insmod foo.o,模块文件就是foo.o,根据模块文件计算出模块文件所需的内存大小
2)调用系统调用create_module,为该模块分配核心空间内存
3)调用系统调用query_module,得到核心提供的符号表,与系统调用create_module的返回值(核心模块首地址)加在一起对模块进行重定位。
4)在用户空间为核心模块分配内存,并往该段内存复制一个经过定位的object映象。
5)调用系统调用init_module,将用户内存中的模块映象copy到相应的核心空间(首地址为create_module的返回值)。
6)释放用户内存,中止insmod运行。
如果一切顺利,没有出现未定位的符号,则核心模块object就融入系统,成为系统的一部分了。
核心模块的加载过程对核心来说实际是个“静态链接”的过程,这和用户程序动态链接运行过程再链接需要的代码还是不太一样的,当然,object的可重定位特性保证了链接后的代码正常运行,这点倒是比较相似的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yd906622856
2015-10-15 · 超过23用户采纳过TA的回答
知道答主
回答量:299
采纳率:0%
帮助的人:66.4万
展开全部
安装交叉编译链arm-linux-gcc
在电脑上写好程序
交叉编译程序
生成的文件拷进开发板
终端chmod +x 文件名修改权限
./文件 执行
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式