嵌入式环境搭建之开发板软件环境

转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/44995039

开发板软件环境:uboot(用官方给的,后续我会考虑分析移植)

内核(本来想用官方的降低难度,但给的不支持nfs,简单更改下吧,后续考虑移植精简新内核)

文件系统(移植最小文件系统)

1.修改开发板官方内核支持nfs

a.用ftp工具从主机拷贝内核到虚拟机,然后解压

b.copy 官方配置文件 .config(不同开发板配置文件不同,我的操作是cp config_for_linux .config)

c.make menuconfig

出错:我碰见过两种,第一种错误是终端太小,装不下图形配置。

第二种是缺少ncurses库,解决办法$sudo apt-get install libncurses5-dev

d. 修改配置选项如图

选中  IP: kernel level autoconfiguration

更改后保存,然后make

e.将生成的内核烧进开发板

f.测试nfs功能

mount -t nfs -o nolock 192.168.6.2:/work /mnt

如果开发板文件系统的/mnt 挂在到了虚拟机的/work上则证明成功

2.制作最小网络文件系统

a.下载BusyBox(直接百度,然后进入官网,我下载是最新的稳定版本1.23.2)然后解压

b.make menuconfig

1.修改系统安在哪,叫什么名,如图,这个是我的配置:

2.用什么编译器

c.make 然后  make install之后你的系统应该已经生成了。

d.把交叉编译器里面的库文件,拷贝到我们的最小网络文件系统中(注意-d选项)

cp /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib/* /work/nfs_sys/mini_sys

e.接下来需要创建几个文件,如果懒得创建的话,我后续把我的文件系统传上来,大家copy下也可以

在/etc下创建三个文件 etc/initab   etc/init.d/rcS etc/fstab三个文件内容如下:

etc/fstab

::sysinit:/etc/init.d/rcS
ttySAC2::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r

etc/init.d/rcS

#!/bin/sh
ifconfig eth0 192.168.6.4
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
<p>echo 0 > /proc/sys/kernel/hung_task_timeout_secs</p> mdev -s

etc/initab

# dev    mount   type      options  dump  fsck   order
proc    /proc    proc      defaults 0      0
tmpfs   /tmp     tmpfs     defaults 0      0
sysfs   /sys     sysfs     defaults 0      0
tmpfs   /dev     tmpfs     defaults 0      0

除此之外还需要创建/dev文件夹。然后在下面创建这两个设备文件

mknod consol c 5 1

mknod null c 1 3

f.启动开发板uboot修改启动参数,如下:

set bootargs console=ttySAC2,115200 init=/linuxrc rootfstype=ext4 root=/dev/nfs rw nfsroot=192.168.6.2:/work/nfs_sys/mini_sys ip=192.168.6.4:192.168.6.2:192.168.6.1:255.255.255.0:ruoyun:eth0:off

如果OK的话,可以保存环境变量,每次开机就可以直接挂在文件系统了。

g.创建其余目录

mkdir  proc mnt tmp sys root

h.如果能顺利进入系统,看到这句话Please press Enter to activate this console.那么恭喜你成功了。测试下创建文件,看虚拟机和开发板是否同步(注意不要在tmp文件夹下创建,我发现在此文件夹下,数据不能同步,不知道什么原因)

3.编写第一个驱动

a.编写驱动文件

#include<linux/init.h>
#include<linux/module.h>
#include<linux/kernel.h>

static int hello_init(void)
{
	printk(KERN_ALERT "hello world.\n");
	return 0;
}

static void hello_exit(void)
{
	printk(KERN_ALERT "exit hello world.\n");
}

module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");

b.编写Makefile

KERN_DIR = /work/kernel/itop/iTop4412_Kernel_3.0

all:
	make -C $(KERN_DIR) M=`pwd` modules 

clean:
	make -C $(KERN_DIR) M=`pwd` modules clean
	rm -rf modules.order

obj-m	+= hello_drv.o

c.测试

在虚拟机上先make ,生成.ko文件。然后将.ko文件放在开发板启动的网络文件系统中,然后insmod

如果出现hello world。那么证明你成功了。

然后rmmod,我在做的时候出现了一个错误。如下:

rmmod: can‘t change directory to ‘/lib/modules‘: No such file or directory

解决办法就是mkdir /lib/modules/3.0.15       (最后面的是你的内核版本号)

如果rmmod出现了exit hello world.  那么恭喜你成功了。

到这里环境已经搭建好了,大家可以继续接下来的驱动去学习了,后续我会继续写一些驱动相关的文章的。

时间: 2024-08-28 04:24:19

嵌入式环境搭建之开发板软件环境的相关文章

搭建S3C6410开发板测试环境

开发板用于驱动程序的测试,调试.进行硬件的模拟调试与测试. 不同开发板的区别主要在烧录嵌入式系统的方式上 5.2安装串口调试工具:minicom OK6410开发板可以通过串口通信显示linux驱动程序输出的调试信息 Minicom是为了让Pc与串口设备通信,pc安装的接受和发送串口数据的程序,是linux版串口管理软件. 安装.配置和测试minicom: 1.检测当前系统是否支持USB转串口 # lsmod | qrep usbserial 2.安装minicom # apt-get inst

Tiny4412 开发板 编译环境搭建

/************************************************************************************** * Function     : Tiny4412 开发板 编译环境搭建 * Create Date  : 2016/04/04 * Author       : NTSK13 * Email        : [email protected] * Copyright    : 欢迎大家和我一起交流学习,转载请保持文章的

第五章 搭建S3C6410开发板的测试环境

在PC上可以开发Linux驱动,重新编译成ARM架构的Linux驱动模块,但最后还是要在开发板上进行测试.目前最流行的是基于三星S3C6410 ARM11架构的开发板,很多厂商在其基础上进行了扩展,开发了扩展板. 下面对S3C6410开发板进行简单的介绍:三星S3C6410是一款低功耗.高性价比的RISC精简指令集系统的处理器,基于ARM11内核,可用于移动电话和通用处理等领域.它为通信服务提供了优化的硬件性能,内置强大的硬件加速器,有运动视频处理.音频处理.2D加速.显示处理和缩放等,还集成了

Android深度探索(卷1)HAL与驱动开发 第五章 搭建S3C6410 开发板的测试环境

第五章 搭建S3C6410 开发板的测试环境 心得体会 开始进行安装串口调试工具:minicom  OK6410开发板带了一个串口.可以通过串口线与PC连接.Linux驱动在输出调试信息的同时会通过串口线教调试信息发送到PC上,这样Linux驱动程序员就可以直接在PC上查看调试信息了.(对一些笔记本需要使用USB转RS232串口线) 1.检测当前系统是否支持USB转串口 #lsmod | grep usbserial 2.安装minicom #apt-get install minicom 3.

Android笔记1——开发前奏1开发环境搭建和开发工具使用介绍

转载请注明http://www.cnblogs.com/devtrees/p/4382234.html 欢迎指正错误,共同进步! 一背景知识 1.1G-4G的介绍 Generation(一代) WAP(wait and pay) Wireless Markup Language(WML)精简版的html语言 二.Android概述 1.Android操作系统介绍 2.Android历史介绍 3.Android系统架构(重点) 第一层:应用层Application 第二层:应用框架层Applica

用Visual Studio 2012+Xamarin搭建C#开发Andriod的环境

原文:用Visual Studio 2012+Xamarin搭建C#开发Andriod的环境 第一步:安装Visual Studio: Visual Studio 2012(或者Visual Studio 2010),原因是目前为止Xamarin for Visual Studio的插件只支持2010和2012版本的,安装过程在此不再赘述. 第二步:安装Xamarin: 1.到http://xamarin.com/download这里去注册一个账号,就可以下载Xamarin的安装包.如下图: 这

搭建Eclipse开发和调试环境(真机)

由于工作原因,最近开始了Android开发.之前接触过一段时间Android,还是在2.x时代. 那个时候搭建开发环境还是挺麻烦的.又是Eclipse,又是ADT的,不同的版本还要安装对应开发包.现在方便了,下载一个ADT压缩包就搞定了. 简单记录如下: 工具下载: JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html ADT:http://developer.android.com/sdk/index.ht

10分钟入门微信小程序开发:从环境搭建到开发出第一个程序。

小程序简介 小程序是一种不需要下载安装即可使用的快速应用,它实现了应用“触手可及”的操作:用户扫一扫或搜一下即可打开应用,完全不需要安装,因此小程序不仅可提高的用户的应用体验,也方便应用的传扩散. 本文带大家快速入门小程开发,了解从环境搭建到开发出一个简单hello world程序,从而上手小程序开发,让你快速成功小程序开发人员.之后,想开发什么样的小程序,就可以自己研究和努力了. 下面,是循序渐经的步骤: ?1.注册小程序 在开发之前,当然需要先注册一个小程序账号. 进入“微信公众平台”进行注

学习嵌入式Linux-选择iTOP-4412开发板

部分视频观看地址: [视频教程]iTOP-4412开发板之学习方法--致初学者 http://v.youku.com/v_show/id_XNzQ5MDA4NzM2.html [视频教程]三星Exynos 4412处理器开发要点 http://v.youku.com/v_show/id_XNjIwODA0MTY4.html [视频教程]iTOP-4412开发板之如何扩展不同型号LCD屏 http://v.youku.com/v_show/id_XNjM4NjY2NDQ4.html [视频教程]i