中易网

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

答案:3  悬赏:50  
解决时间 2021-02-12 15:38
arm开发板如何运行自己写的程序
最佳答案
安装交叉编译链arm-linux-gcc
在电脑上写好程序
交叉编译程序
生成的文件拷进开发板
终端chmod +x 文件名修改权限
./文件 执行
全部回答
修改驱动程序,修改config文件,修改makefile,重新编译内核再烧写到板子上
用户程序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的可重定位特性保证了链接后的代码正常运行,这点倒是比较相似的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
涅盘经 是看过 第十九卷,?无间地狱 怎么说
海燕内衣店地址在哪,我要去那里办事
怎么看国行note4是不是公开版?
人气最旺的QQ是多少?
怎么用fiddler做性能测试
老公被抓进了看守所,他身上的钱包,银行卡,
鲲鹏超市欧美亚世纪阳光店地址有知道的么?有
这种拼图软件叫什么名字??
宋世雄妻子简历
娘子关到邢台天河山有多远
您好,请问临时工做了五天他现在不给工资。怎
涨水了水很混这时候怎么钓鳜鱼?
兴源饭庄南翔分店我想知道这个在什么地方
模拟人生3能不能给package的补丁改名字
华北电力大学东校区-主楼这个地址在什么地方
推荐资讯
白天家里没人,宠物狗怎么办
我该穿多少码的衣服和裤子
《邓稼先》课文中介绍了,哪七件事
皂河炒鸡蛋羊肉汤这个地址在什么地方,我要处
俄语中от和за都可以接二格表示“因为”,
日本电影男演员戏中叫一支竹子的电影·名字
罗汉果死苗是什么回事
海子田地址在哪,我要去那里办事
开化江我想知道这个在什么地方
得痛风的明星有哪些?
intel Core i7 4790和Intel 至强 E3-1230 V3
阳泉第二监狱2015年1月份释放人员胡力明
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?