rtems在mini2440上的移植(ubuntu)
第一步
建立编译环境,rtems的编译环境需要使用newlib的库,所以ubuntu自带的gcc是不可以的,我是参照下面的博客才编译成功的,之前走了好多弯路。
http://blog.sina.com.cn/s/blog_70dd169101013d4c.htm
第二步
编译rtems,我使用的是4.10.2,而参照的博客使用的是4.11(博客有些地方不清楚的看下面的博客),区别应该是有的,不过都能成功烧写。
fishOnFly的http://blog.csdn.net/wuhzossibility/article/details/9262055
博主有如下内容,我不是很清楚,后来我在start.s里面添加了bss的相关代码:
***********************************************************************
7.0. 修改第一阶段的硬件初始化,极度汇编依赖
在start.s中,完成的工作:
1 禁用所有可屏蔽中断;
2 用~0~填充未初始化数据段~.bss;
3 初始化~C~程序调用栈;
4 从~ROM~中将初始化数据拷贝到~RAM~中;
5 调用~boot_card~函数。
7.0.6. 具体的请看附件
***********************************************************************
以下就是我添加在start.s的代码,参照雪松的博客http://blog.csdn.net/coolbacon/article/details/6092927:
/* zero the bss */
ldr r1, =_bss_end_
ldr r0, =_bss_start_
_bss_init:
mov r2, #0
cmp r0, r1
strlot r2, [r0], #4
blo _bss_init /* loop while r0 < r1 */
修改完成之后就是编译工作,请参考雪松这篇博客的最下面那段http://blog.csdn.net/coolbacon/article/details/6101754或者fishOnFly的http://blog.csdn.net/wuhzossibility/article/details/9262055#reply,主要区别是configure的一些配置,后者编译会生成一个ticker.exe的例子,而前者是hello.exe,然后通过命令将exe文件转化为bin文件烧写。
第三步
烧写
笔者首先是使用了tekkamanninja提供的bin文件(网上一搜就搜到了),但是似乎它的烧写位置显然是不对的(0x30008000)。
具体请看下面俩篇文章,俩位大牛对烧写位置进行了考究,欲了解实情的就看看吧:
雪松的http://blog.csdn.net/coolbacon/article/details/6262776
知秋一叶http://blog.csdn.net/rickleaf/article/details/6260292
笔者最后决定参照知秋一叶的方法,将文件烧写到0x30000100(笔者比较懒,不想像雪松那样改了)。
烧写方法有很多,但是tekkamanninja提供的uboot.bin似乎烧写位置发生冲突,笔者每次烧写到0x30000100都会烧不进去,烧到0x30008000是可以烧进去了但是go 0x30008000就没反应了。因此笔者狠心使用了裸机烧写,幸好最近新买的友善之臂mini2440有superboot这个神器,操作非常容易(具体看它的手册吧,使用的是minitools这个工具)。选择逻辑程序,烧写位置就是0x30000100,烧写成功!哈哈~
笔者是个big rookie,小小得意一下,不过问题还是有很多不明白的,接下来还会尝试使用uboot来加载,如有发现会继续更新的说!
rtems在mini2440上的移植(ubuntu)的更多相关文章
- 基于mini2440的uboot移植(一)
一.移植环境 虚拟机:ubuntu12.04 uboot源码:u-boot-2008.10.tar.bz2 交叉编译:arm-linux-gcc-4.4.3 简单的记录下编译uboot的过程,要想具体 ...
- OpenCV在ARM上的移植
OpenCV在ARM上的移植 与X86 Linux类似,请参考:Linux 下编译安装OpenCV 本文在此基础上进行进一步操作. 网络上很多移植编译的方法比较老,多数针对OpenCV 1.0,而且方 ...
- u-boot-2014_04在TQ2440上的移植
本文详细介绍了新版本的u-boot-2014_04在tq2440平台上的移植过程,期间参考了网上的其他移植文档,还有韦东山的移植uboot视频,讲的很好.下面是共享链接,欢迎下载,一同学习.其中有移植 ...
- S04_CH02_工程移植ubuntu并一键制作启动盘
S04_CH02_工程移植ubuntu并一键制作启动盘 2.1概述 2.2搭建硬件系统 本章硬件工程还是使用<S04_CH01_搭建工程移植LINUX/测试EMMC/VGA>所搭建的VIV ...
- 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题4---共享库中嵌套库带路径【已解决】
[Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题4-共享库中嵌套库带路径[已解决] 标签:[Linux开发] 紧接着上一篇,我居然又尝试了一下编译opencv,主要是因为由于交 ...
- 【Linux开发】OpenCV在ARM上的移植
与X86 Linux类似,请参考:Linux 下编译安装OpenCV 本文在此基础上进行进一步操作. 网络上很多移植编译的方法比较老,多数针对OpenCV 1.0,而且方法很麻烦,不仔细操作很容易出错 ...
- Mini2440上的第一个程序——点亮Led
手头的Mini2440搁置了两年半之后,我再次决定拿出它,重新尝试嵌入式Linux的学习. 我使用的是友善之臂的Mini2440开发板.韦东山的<嵌入式Linux应用开发完成手册>及其视频 ...
- Qt4.8.5在ARM9上的移植
Qt4.8.5在ARM9开发板上的移植 以前移植过qtopia-embedded-2.2.0,俗称Qt/E,在早期的Qt框架中是使用X11桌面服务器系统,无法应用于嵌入式平台,为此产生了qtopia, ...
- KEIL MDK环境下uCOS-II在LPC17xx上的移植实例
1. 知识准备 要想对ucos-ii的移植有较深的理解,需要两方面知识: (1)目标芯片,这里是lpc17xx系列芯片,它们都是基于ARMv7 Cortex-M3内核,所以这一类芯片的ucos-ii移 ...
随机推荐
- java 中的 instanceof
instanceof是Java的一个二元操作符,和==,>,<是同一类东东.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边的对象是否是它右边的类的实例,返回boo ...
- [jbdj]SpringMVC框架(3)映射器
映射器:什么样的请求交给Action. 1} class : BeanNameUrlHandlerMapping 要掌握, 将程序员定义的Action所对应的<bean>标签的nam ...
- Django学习(一)---基本配置及创建项目、应用
安装:在Django官网下载最新版Django然后通过pip安装即可 一.创建项目 进入文件夹,打开cmd窗口,输入django-admin startproject myblog(项目名) 二.创建 ...
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'portal.hibernate_sequence' doesn't exist, 谈谈主键自增的方式
最近几天几天做项目用到了Spring Data JPA,确实是个好东西,省了很多力气.但是由于刚开始用,也遇到不少头疼的问题,如下,调用JpaRepository接口的save方法保存一个对象到数据库 ...
- Windows10中“SQL Server 配置管理器”哪去了?
SQL Server 配置管理器是一种工具,用于管理与 SQL Server 相关联的服务.配置 SQL Server 使用的网络协议以及从 SQL Server 客户端计算机管理网络连接配置.SQL ...
- AugularJS从入门到实践(二)
前 言 前端 AngularJS是为了克服HTML在构建应用上的不足而设计的.(引用百度百科) 本篇学习主要有两个部分: ①[AngularJS 过滤器] ②[AngularJS ...
- jQuery点击缩略图切换大图代码
很多网站上都会有点击缩略图切换成大图的效果,下面来分享一下它的源码 还是先来看效果截图 运行文件 然后点击下一张 下面分享源代码 html文件 <!DOCTYPE html PUBLIC &qu ...
- net.sz.framework 框架 ORM 消消乐超过亿条数据排行榜分析 天王盖地虎
序言 天王盖地虎, 老婆马上生孩子了,在家待产,老婆喜欢玩消消乐类似的休闲游戏,闲置状态,无聊的分析一下消消乐游戏的一些技术问题: 由于我主要是服务器研发,客户端属于半吊子,所以就分析一下消消乐排行榜 ...
- (转)java反射机制及简单工厂模式
第一步,定义一个接口类 package factory.face; /** * 接口,为了保证返回的对象可以统一用 Product接受 * @author Administrator */ publi ...
- 【CSS】less 学习小结
1. less 使用 less 可直接使用浏览器解析 or 使用node 的grunt/gulp 解析成传统css . 推荐开发环境直接使用less 文件调试, 生产环境部署解析好的css 2. l ...