s3c6410 Linux 驱动开发环境搭建

—— 既然你是做Linux开发的,你还用虚拟机?

非常多人都在win下做开发,于是SD_writer.exe之类的烧写工具“大行其道”,多是用虚拟机Linux。

全然转到Linux下学习開始蛮不爽的,开发板制作商送的教程都是些讲Win-CE的东东,感觉实质性的东西没什么。对于全然用Linux做开发的技术解说非常少,连烧写SD卡都用的win以下的程序。后来找了些资料,整理在这里,希望留给有心人.共同营造一个更好的共同学习的环境.
当别人遇到困难的时候能够留下点东西帮助别人.

(因为我之前已经烧写过一次Linux,所以第二次烧写的是不就不须要用Eboot擦除分区保护的那几个块了,假设之前装的是Win-CE的板子看一下开发板供应商的手冊)

首先在PC主机上

安装 交叉编译器

接着,配置好minicom

准备好版本号相应的kernel tree (这个非常重要~ 内核版本号一定要相应,非常多问题就是由于内核版本号不一致导致的)

烧写SD卡(一边凉快去 *.exe)

Linux 自带工具--dd

  • 格式化SD卡为vfat格式
mkfs.vfat      /dev/sdb1

(这里别错了,不同的SD卡。挂在名可能不一致。我这里是sdb,相同要注意。这里是对sdb1格式化,sdb是分区表,sdb1才是U盘剩余的空间。

。。我刚刚又一次插入了U盘。挂在名就变成sdc了,所以这里别错了)

  • 把光盘的zImage Uboot.bin yaffs 文件拷贝到SD卡的根文件夹
  • linux命令行中运行:
dd iflag=dsync oflag=dsync if=mmc.bin of=/dev/sdc seek=1

(  /dev/sdc SD卡在linux中的设备名字 
 mmc.bin是要烧写的文件,这里用些什么文件开发板的手冊都会讲,我这里注重整理Linux环境的烧写方法)

  • linux命令行中运行: sync

(  把缓存中的东西写入SD卡)

  • 开发板从SD卡启动,就会出现烧写界面!大功告成!

在Linux PC主机上编译好Hello word模块做driver 交叉编译的測试

仿照PC机器上的hello world

改动Makefile就可以

# Code wrire 	: EOF
# code date : 2014.08.19
# e-mail : jasonleaster@gmail.com
#
# THis Makefile is a demo only for ARM-architecture
# ifneq ($(KERNELRELEASE),) obj-m := hello.o else
CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-linux-gcc/
CC = CROSS_COMPILE
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD :=$(shell pwd)
SUBDIR := /Jason_with_ARM/linux-3.0.1/ modules:
$(MAKE) -C $(SUBDIR) M=$(PWD) modules clean:
rm -rf *.o *.order *.symvers *.ko *.mod*
endif

s3c6410 Linux 驱动开发环境搭建的更多相关文章

  1. Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...

  2. Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux  opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2 ...

  3. win10子系统linux.ubuntu开发环境搭建

    移步新博客... win10子系统linux.ubuntu开发环境搭建

  4. Linux PC开发环境搭建建议

    搭建Linux PC开发环境 很早之前整理的在Linux(ubuntu)系统下搭建 PC开发环境的工具的推荐和简单说明,尽管现在有些已经不再使用,但还是要备份一下,作为以后的参考: package: ...

  5. Unix/Linux环境C编程入门教程(10) SUSE Linux EnterpriseCCPP开发环境搭建

    安装SUSE企业版以及搭建C/C++开发环境 1.      SUSELinux Enterprise是一款服务器操作系统,异常稳定. 2.设置虚拟机类型. 3.选择稍后安装操作系统. 4.选择SUS ...

  6. linux android开发环境搭建

    android开发环境搭建的一些有用链接:1.sdk manager的国内服务器http://www.cnblogs.com/huangjacky/p/4077982.html2.常见问题的解决htt ...

  7. Linux交叉开发环境搭建 —— 效率之源

    楼主今天终于把所有Linux开发环境需要的软件下载完毕了.虽然以前也是搭建过的,时间久了又折腾了一晚上. 交叉环境: Windows.Linux文件共享 SecureCRT 连接虚拟机终端 工具: V ...

  8. Linux应用开发环境搭建

    因为笔者是一名大学生,对Linux内核开发方向非常感兴趣,可是实在是能(ji)力(shu)有(cha)限(jin),仅仅能从Linux应用开发開始,由浅入深,逐步进步,登上人生高峰,因此,昨天搭建了开 ...

  9. visual studio 2015下使用gcc调试linux c++开发环境搭建完整详解

    一直以来,相信绝大部分的开发都是windows/mac下做开发,尤其是非嵌入式和qt系的,而开源服务器程序绝大部分都是跑在Linux下,几乎就没有跑在windows下的.一直以来开发人员都是在wind ...

随机推荐

  1. Linux-进程间通信(一): 管道

    1. 管道局限性: (1) 半双工:(若模拟全双工,可以使用两个管道,即,proc1-->proc2一条管道,proc2-->proc1一条管道) (2) 只能在具有公共祖先的进程之间使用 ...

  2. rtmp服务端实现

    前言 网上好像没一篇讲的很完善的,可能和公司保密有关吧.先就最让人困惑(至少我是这样)且网上也很少找到答案的一个点讲一下id各是什么意思? (如果我哪里理解错了,希望大神指出,毕竟我也是看了好多资料及 ...

  3. 智联招聘的python岗位数据结巴分词(二)

    上次获取第一次分词之后的内容了 但是数据数据量太大了 ,这时候有个模块就派上用场了collections模块的Counter类 Counter类:为hashable对象计数,是字典的子类. 然后使用m ...

  4. 可参考的js代码

    function addcompanyFinalBalance(){ var currentDate = new Date(); var currentYear = date.getFullYear( ...

  5. SQL中使用UPDATE更新数据时一定要记得WHERE子句

    我们在使用 SQL 中的 UPDATE 更新数据时,一般都不会更新表中的左右数据,所以我们更新的数据的 SQL 语句中会带有 WHERE 子句,如果没有WHERE子句,就回更新表中所有的数据,在 my ...

  6. 忘记root密码怎么办

    忘记root密码有两种解决办法.一种是emergency模式,另一种是rescue模式. 1.emergency模式 这个模式又有人称为单用户模式.使用这种模式,前提是要知道grub密码.一般适用于对 ...

  7. AC日记——Collectors Problem uva 10779

    UVA - 10779 思路: 最大流: s向所有的贴纸的种类连边,流量为Bob拥有的数量: 然后,Bob的朋友如果没有这种贴纸,则这种贴纸向bob的朋友连边,容量1: 如果bob的朋友的贴纸很多大于 ...

  8. (二)openvpn客户端配置

    1)下载和安装openvpn客户端 下载连接:https://build.openvpn.net/downloads/releases/ 注意:这里下载连接使用国内的网已被强,我通过FQ下载 链接:h ...

  9. magento 开启模板路径提示

    1.进入后台system->configuration->,选择main Website 2.advanced->developer中,将Debug中的Template Path H ...

  10. js跳转整理(简记)

    location.replace(URL)跳转脱离历史记录流: location.href=url;在历史记录中 子刷新父级 parent.location.replace(parent.locati ...