TQ2440硬件平台的RTEMS系统BSP的移植--上
前面的实验、记录是关于交叉编译工具链(或叫做开发环境)的构建。当交叉编译工具链搞定以后,接下来就进入到第二个难关,修改适合TQ2440开发板的BSP了。该环节是前文提到的三个环节中最为复杂的一个环节,需要掌握一些Linux方面的基础知识(eg:shell命令、makefile等)、RTEMS的代码结构、硬件S3C2440平台的应用等。当然如果在基础知识有不足,可以到网上参考Etual、雪松、fishOnFly等高手的博客。照着他们的博客基本就可以完成RTEMS在TQ2440上的移植,参照Etual、fishOnFly的笔记,我做的具体步骤有:
1.对libbsp/arm/acinclude.m4文件进行修改,由于我们将要增加TQ2440的BSP,因此在该文件中应当相应的增加一项,具体可参照前面的模板。如
TQ2440 )
AC_CONFIG_SUBDIRS([TQ2440]);;
当然也可以只保留这一项,其余的选项都删除。
2.复制smdk2410目录并改名为TQ2440。
3.将gp32目录下的console、smc、start目录复制过来到TQ2440目录下,gp32/include目录下的文件也复制过来覆盖掉原来的。另外还有一个文件startup/bspstart.c也复制过来。
4.对TQ2440目录下的makefile.am进行修改。凡是有gp32的都修改过来,比如:
include_HEADERS = ../gp32/include/bsp.h改成:
include_HEADERS = include/bsp.h
5.对/make/custom/目录下的文件修改名为TQ2440.cfg。
6.下面就可以对该BSP进行编译了。至于对包含新增BSP的RTEMS源码编译工作有两种方案。一是使用官方镜像中给的build_bsp的脚本,一是自己在shell命令行中敲命令。这里我是采用的第二种方法:
//pre-config
cd rtems-4.10.2(网上下载源码解压后形成的目录)
./bootstrap -c
./bootstrap -p
./bootstrap(等待的时间较长)
//configure
cd ..
mkdir b-TQ2440
cd b-TQ2440
rm -rf ./*
../rtems-4.10.2/configure --target=arm-rtems4.10 --disable-posix --disable-networking --disable-cxx --enable-rtemsbsp=TQ2410(等待的时间较长)
//compile
make(等待的时间较长)
至此编译工作完成,如果编译过不了可以慢慢往上找原因。接下来是修改BSP,然后进行编译的安装,make install。
7.完成以上工作过程中碰到的问题。
7.1我是在官方提供的镜像centos6.2里做以上工作的,该镜像本省给用户提供的是rtems-4.11的版本。由于我之前在这个4.11的版本上按照Etual、fishOnFlay的博客进行TQ2440的RTEMS移植时,始终不能完成移植工作,操作的步骤几乎都一样,然后我抱着试试的想法,准备在rtems-4.10上移植。在4.11的版本上安装autoconf和automake的RPM包始终装不上。
7.2在4.10的版本上安装7个arm的RPM包时,提示缺少文件。这里可以参考Etual大牛的一篇文章(centos平台的RTEMS编译安装)对缺少的几个文件进行安装之后7个包即可正常安装,并且在改版本下autoconf和automake的RPM包也可以正常安装。
7.3进行./bootstrap时提示autoconf没有安装或版本过低。关于这个错误的解决也是有Etual大牛指点后搞定的,工具链放在path的最开头。(这个问题的解决在Etual的RTEMS 4.11工具链安装一文中也有具体解决方法)于是结合Etual大牛的博客做了以下修改搞定问题。
关键字:RTEMS S3C2440 移植
引用地址:
RTEMS在S3C2440上的移植-(3)
推荐阅读最新更新时间:2024-11-09 15:34
移植stemwin笔记01 emwin文档说明
emwin文件说明 目录/文件名 说明 config 液晶驱动接口、emwin配置文件 GUIConf.c 用于配置emwin使用RAM空间的大小 GUIConf.H 用于剪裁emwin的功能 GUIDRV_Template.c 应用在不同液晶时使用的驱动文件 LCDConf_XXXX_Template.c inc emwin库核心的头文件 XXXX.h 各种关于库函数的申明、定义 Lib emwin的核心库文件 MCD-ST Image SW License Agreement V2.pdf 软件许可协议 STemWin_CM4_wcXX.a emwin核心库文件 XX=16时适用于EWARM7 和
[单片机]
基于STM32F103系统的FreeRTOS程序移植
1 FreeRTOS移植及配置 在程序中,移植了正点原子的基于STM32的FreeRTOS程序,编写了自己的内存管理程序malloc.c,程序主要结构如下: FreeRTOS_CORE中是FreeRTOS的核心文件,包括与协程有关的croutine.c,与事件组有关的event_groups.c,与列表有关的list.c,与队列有关的queue.c,与任务有关的tasks.c,与定时器时钟有关的timers.c。 FreeRTOS_PORTABLE中是与FreeRTOS内存管理有关的文件,包括port.c和heap_4.c,port.c中主要包含一些与中断有关的函数,heap_4.c上一篇文章有详细介绍,与内存分配释放
[单片机]
Qt2.2.0移植到ARM9(四)(JZ2440----S3c2440)
Linux:Ubuntu9.10 编译器版本:arm-linux-gcc-4.3.2 Qt:qtopia-free-src-2.2.0.tar.gz 依赖库:libjpeg库(参考移植(一));uuid库。 操作参考《嵌入式Linux应用开发完全手册》 1、安装qtopia2.2.0 (1)解压 qtopia-free-src-2.2.0.tar.gz位于系统的/work/GUI/qtopia目录下。 解压命令:$tar zxvf qtopia-free-src-2.2.0.tar.gz (2)编译、安装jpeg库(省略,之前已完成) (3)编译、安装uuid库(省略,之前已完成) (4
[单片机]
s3c2440的IIC控制
在tq2440和mini2440上都连接着EEPROM 它们作用也不过測试I2C总线能否用。 当中在mini2440上EEPROM型号是 AT24C08,在tq2440上这个型号是 AT24C02A。 它们之间容量不同。地址线也不一样。 S3C2440A RISC 微处理器能够支持一个多主控 IIC 总线串行接口。一条串行数据线(SDA)和一条专用时钟线(SCL) 连接到 IIC 总线的总线主控和外设之间。SDA 和 SCL 线都为双向的。都连接到GPE14(SCL) GPE15(SDA)。 为了控制多主控 IIC 总线操作,必须写入值到下面寄存器中: – 多主控 IIC 总线控制寄存器,IICCON – 多主控
[单片机]
TQ2440 学习笔记—— 27、移植U-Boot【Bootloader 作用、工作流程】
一、Bootloader 简介 1、系统上电之后,需要一段程序来进行初始化:关闭WATCHDOG、改变系统时钟、初始化存储控制寄存器、将更多的代码复制到内存中等。如果它能将操作系统内核复制到内存中运行,无论从本地(比如Flash)还是从远端(比如通过网络),就称这段程序为Bootloader 。 简单的说,Bootloader 就是这么一段小程序,它在系统上电时开始执行,初始化硬件设备、准备好软件环境,最后调用操作系统内核。 2、Bootloader 的启动方式 CPU 上电后,会从某个地址开始执行。比如MIPS 结构的CPU 会从0xBFC00000取第一条指令,而ARM 结构的CPU则从地址 0x0000000
[单片机]
把GuiLite移植到STM32上
1 Gui移植结果 一些演示效果: 2 GuiLite介绍 GuiLite是一个开源的图形用户界面框架,只依赖于一个单一的头文件库(GuiLite.h),不需要很复杂的文件管理,代码量平易近人。 GuiLite由4千行C++代码编写,单片机上也能流畅运行,其最低的硬件运行要求如下: GuiLite具有很强的跨平台特性: 支持的操作系统:iOS/macOS/WatchOS,Android,Linux(ARM/x86-64),Windows(包含VR),RTOS… 甚至无操作系统的单片机 支持的开发语言:C/C++, Swift, Java, Javascript, C#, Golang… 支
[单片机]
U-Boot移植
1. 安装韦东山的虚拟版的ubuntu 9, 里面交叉编译啥的都弄好了, 直接用, 然后把workstation共享目录打开, 指向uboot的压缩包所在目录. 2. 在虚拟机上, 打开ssh, 通过ssh, 进/mnt/hgfs/ 把uboot压缩包解压了. 3. 编辑Makefile, 在smdk2400下面增加两行, 注意要好tab键 smdk2400_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 NULL s3c24x0 tx2440_config : unconfig @$(MKCONFIG) $(@:_conf
[单片机]
移植u-boot-2010.09到S3C2440(五)—— 通过OPENJTAG、OPENOCD、ECLIPSE进行调试
OPENJTAG是买的百问网的,坑爹啊,180大洋,贵。这里说一句,OPENJTAG不是百问网的独家正版,这个东西是开源的,百问网说这东西是他自己的,说别人是盗版的,这个嘿嘿。。。。就算别人是根据他的做出来的,做人要谦虚啊。有句话说的好,要做就不要怕别人模仿。话说,好像国内很多个人都做过OPENJTAG。而且,他这个东西里面的插件都是别人的。给的网址都过期N年了。。。当然我自己是做不出来的。 它家的这个硬件性能,极其慢,必须等S3C2440运行一小段时间,稳定了,再连openocd才能连接的上硬件,还有好像是这个usb转串口做的也一般,输入存在丢失。一会的少一堆输入。 不得不说,现在最便宜的在linux下调试的硬件设备,我
[单片机]