S3C6410移植u-boot-2010.3(5)Dnw for linux

发布者:rho27最新更新时间:2024-09-03 来源: cnblogs关键字:S3C6410  移植  u-boot  Dnw  for  linux 手机看文章 扫描二维码
随时随地手机看文章


  现在开始记录在linux上安装dnw功能


  想要源代码,可以到这里fork


https://github.com/Qunero/dnw4linux

  详细的使用,README里面讲得很清楚了,不加赘述了。


  这里只讲一下怎么使用。


  1、加载模块.ko文件


$ cd secbulk_driver/

$ insmod secbulk.ko

  然后确认一下已经加载


$ lsmod | grep secbulk

//若正确加载了,应该有回显

secbulk                12728  0 

  2、插入USB to miniUSB线


  然后查看一下系统信息


$ dmesg

//正常情况下应该有如下信息在最末端

[15424.424366] usb 1-3: new full-speed USB device number 9 using ohci_hcd

[15424.657680] secbulk:secbulk probing...

[15424.657684] secbulk:bulk out endpoint found!

  3、下载uImage镜像


  首先是目标板端


# dnw 50008000

  然后是PC端


$ dnw arch/arm/boot/uImage

  目标板显示如下内容时则完成传输 


Download Done!! Download Address: 0x50008000, Download Filesize:0x378414

Checksum is being calculated....

Checksum O.K.

  接着进行如下操作


# nand erase 10000 50000

//将1M - 5M的空间清除,即为Image的存放地址

# nand write 50008000 10000 50000

//将50008000除下载的uImage写入刚才清除的空间

# reset

//重启


//然后会发现卡在starting kernel的地方进入不了系统


  此时出现的问题有两种可能:


  1)BOOTCOMMAND设置不对,回头检查一下自己的/include/configs/smdk6410.h


  2)make uImage的时候未设定参数


  具体原因可以参详


http://www.cnblogs.com/sywtt/archive/2012/01/25/2329284.html

  这里我的具体方案是


$ mkimage -n 'linux-3.0.1' -A arm -O linux -T kernel -C none -a 0x50008000 -e 0x50008040 -d zImage uImage

//zImage得在当前目录下

//创建的uImage权限未0664, 改为0775

  此时能启动开发板了,但是在启动过程中卡在下面的错误


s3c-rtc s3c64xx-rtc: setting system clock to 2021-04-14 21:21:47 UTC (1618435307)

Root-NFS: no NFS server address

VFS: Unable to mount root fs via NFS, trying floppy.

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

[] (unwind_backtrace+0x0/0xfc) from [] (dump_stack+0x18/0x1c)

[] (dump_stack+0x18/0x1c) from [] (panic+0x60/0x1ac)

[] (panic+0x60/0x1ac) from [] (mount_block_root+0x204/0x25c)

[] (mount_block_root+0x204/0x25c) from [] (mount_root+0x88/0xd0)

[] (mount_root+0x88/0xd0) from [] (prepare_namespace+0x10c/0x1a8)

[] (prepare_namespace+0x10c/0x1a8) from [] (kernel_init+0xf0/0x130)

[] (kernel_init+0xf0/0x130) from [] (kernel_thread_exit+0x0/0x8)


  这个问题比较好理解VFS挂载的问题


  我的做法是diff一下uboot1.1.6与uboot2010的include/configs/smdk6410.h


  找到BOOTARGS,在uboot1.1.6中


#define CONFIG_BOOTARGS       'root=/dev/mtdblock2 rootfstype=yaffs2 console=ttySAC0,115200'

  我将uboot2010中的同样参数替换成这个,然后重新编译一次uboot


  重新执行一次dnw, 终于成功运行了!


  下周继续进行kernel的移植。


关键字:S3C6410  移植  u-boot  Dnw  for  linux 引用地址:S3C6410移植u-boot-2010.3(5)Dnw for linux

上一篇:S3C6410移植u-boot-2010.3(6)回顾总结
下一篇:S3C6410移植u-boot-2010.3(4)uboot的dnw功能添加

推荐阅读最新更新时间:2026-03-20 11:54

ARM-Linux驱动移植--Linux下烧写工具DNW和USB驱动安装
主机平台:Gentoo Linux 11.2 with linux kernel 3.0.6 硬件平台:FL2440(S3C2440)with linux kernel 2.6.35 原创作品,转载请标明出处 http://blog.csdn.net/yming0221/article/details/7211396 1、首先下载DNW for linux http://download.csdn.net/source/1011140 2、解压文件 、 3、编译主机的USB驱动 make -C /lib/modules/`uname -r`/build M=`pwd` modules 然后insmod
[单片机]
ARM-<font color='red'>Linux</font>驱动<font color='red'>移植</font>--<font color='red'>Linux</font>下烧写工具<font color='red'>DNW</font>和USB驱动安装
S3C6410(Real6410) Linux 6x6矩阵键盘驱动移植
Real6410默认的键盘驱动是gpio键盘驱动,现在要取消gpio键盘,实现矩阵键盘。6410的矩阵键盘驱动对应的是samsung-keypad.c,位于driver/input/keyboard目录,可按照下面步骤进行移植。 1、 在arch/arm/mach-s3c64xx/mach-real6410.c中签加 添加头文件: #include plat/keypad.h 添加struct定义 static uint32_t smdk6410_keymap __initdata = { /* KEY(row, col, keycode) */ /*S00(0,0), S01(0,1),
[单片机]
S3C6410嵌入式应用平台构建(四)——linux-3.14.4移植到OK6410-(初步启动)
这次,还是把基本的基于我目前最新的Linux源码进行移植到OK6410吧,同时也写下我移植过程中遇到的问题及解决方法,不过有些方法是借鉴网上的,有些是自己加的,会有一些小bug。 一、基本工作 1. 源码下载 https://www.kernel.org/ ,最好是下载stable版本,否则会有小bug。(我现在调试的是stable版本, linux-3.14.4) 2. 拷到自己的文件夹下解压,我下的是.xz后缀的,这样文件比较小,只是解压时多一个步骤。 $ xz –d linux-3.14.4.tar.xz $ tar xvf linux-3.14.4.tar 3. 解压完后,进入解压后的目录 二、源码
[单片机]
<font color='red'>S3C6410</font>嵌入式应用平台构建(四)——<font color='red'>linux</font>-3.14.4<font color='red'>移植</font>到OK6410-(初步启动)
S3C6410嵌入式应用平台构建(五)——linux-3.14.4移植到OK6410-(Nand分区问题)
前一篇文章,我们的Linux能后启动了,只是在识别nand时候,没有获取到时钟源,导致后面的分区没哟进行。 我们从启动的log发现: s3c24xx-nand s3c6400-nand: failed to get clock s3c24xx-nand: probe of s3c6400-nand failed with error –2 于是追踪到代码: nandflash驱动中——s3c2410.c中 /* get the clock source and enable it */ info- clk = devm_clk_get(&pdev- dev, nand ); if (IS_ERR(
[单片机]
S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件系统移植)
我个人觉得nandflash上用yaffs2文件系统是很好的方案,但是最新的Linux并不支持yaffs2文件系统,需要你自己给内核打补丁,不过话说在前面,由于内核间差异及兼容问题,在编译时肯定会出现各种编译问题,需要你一一的去解决。 一、准备工作 1. 下载源码 使用git工具下载:$ git clone git://www.aleph1.co.uk/yaffs2 2. 给内核打补丁 下载完成后,在该执行目录下会有yaffs2文件夹,进入该文件夹。 $ ./patch-ker.sh c m ../../kernel/test/linux-3.14.4 Updating ../../kernel/te
[单片机]
<font color='red'>S3C6410</font>嵌入式应用平台构建(六)——<font color='red'>linux</font>-3.14.4<font color='red'>移植</font>到OK6410-(Yaffs2文件系统<font color='red'>移植</font>)
Linux s3c6410 移植
UBoot移植 UBoot版本:u-boot-2010.03.tar.bz2 ARCH: arm CPU: arm1176 BOARD: samsung/smdk6410 SOC: s3c64xx 添加和裁剪源代码 添加相关文件夹和源代码: 1)创建文件夹:board/samsung/smdk6410; nand_spl/board/samsung/smdk6410。 2)复制board/samsung/smdk6400/下所有文件到board/samsung/smdk6410。 3)复制nand_spl/board/samsung/smdk6400下所有文件到nand_spl
[单片机]
U-Boot在基于BF561的嵌入式Linux系统上的移植
1 引言   嵌入式Linux系统常用的Boot Loader有arm-boot、redboot、U-Boot等。U-Boot (全称Universal Boot Loader)是当前比较流行的遵循GPL条件的开放源码项目。U-Boot具有源码公开的特点,开发人员可根据自身需要进行裁减;支持多种处理器和嵌入式操作系统内核;具有多种设备驱动源码:支持多种引导方式;具有功能强大且成熟、稳定等诸多优点。在嵌入式系统开发过程中广泛采用。U-Boot严重依赖于底层硬件,不同的CPU或嵌入式板及设备需要不同的U-Boot,因此,在嵌入式系统中建立通用的U-Boot是非常困难的,故U-Boot需针对开发版本量身定做。   2 开
[嵌入式]
s3c6410 uboot初步移植
对uboot主要是修改: 1、更改交叉编译器   CROSS_COMPILE ?= arm-linx- 2、对board项进行修改 3、include项修改 4、CPU项修改 5、根目录下Makefile修改 6、arm架构修改 7、nand_spl修改 此次 移植过程很成功,未报错,但是生成的*.bin文件在板子上运行未见效果。
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved