Linux 系统的烧写
linux内核裁剪、编译与烧写
linux内核裁剪、编译与烧写实验日志实验题目:linux内核裁剪、编译与烧写实验目的:1、了解linux内核移植的相关知识2、熟练掌握linux内核裁剪的一般过程3、完成一个自己linux内核裁剪4、熟练掌握内核烧写实验步骤及结果:1、硬件连接连接好实验箱电源线、串口线、网线,并打开实验箱电源。
2、打开桌面上的超级终端arm打开超级终端后,并敲回车键,直到出现开发板的启动界面[/mnt/yaffts]3、测试自带avi文件[/mnt/yaffts] cd mplayer。
mplayer test.avi这时可以看得见在lcd上有图像显示,并且伴有声音没有声音出现。
4、内核裁剪从linux终端到/arm2410cl/kernel/linux-2.4.18-2410cl/目录,输入命令make memuconfig 回车,即可打开裁剪的主界面,根据自己情况对裁剪选项进行选择,不清楚的选项就选择默认选项。
在裁剪选择时,上下箭头可以上下选择,进入某一层用回车键,用空格键对其进行选择切换。
我们这里至少要把满足根文件系统的linux内核要求选项选上:(1) 配置MTD·要使用Cramfs和YAFFS文件系统,首先需要配置MTD.在Memory Technology Devices (MTD) --->选项中选中如下选项(图略):<*> Memory Technology Device (MTD) support MTD支持[*] MTD partitioning support MTD分区支持<*> Direct char device access to MTD devices 字符设备的支持<*> Caching block device access to MTD devices 块设备支持NAND Flash Device Drivers ---> 对NAND Flash的支持<*> SMC Device Support<*> Simple Block Device for Nand Flash(BON FS)<*> SMC device on S3C2410 SMDK[*] Use MTD From SMC(2) 配置文件系统(图略)。
烧写linux镜像到emmc中的方法
烧写linux镜像到emmc中的方法
要烧写 Linux 镜像到 emmc 中,需要遵循以下步骤:
1. 准备好 emmc 芯片,并将其连接到计算机上。
2. 下载并安装相应的烧写工具,例如 imgburn 或 fujitsu_eraser。
3. 打开 imgburn 或 fujitsu_eraser 工具,并选择要烧写的镜像文件。
4. 选择 emmc 芯片,并选择烧写选项,例如选择所有可用的存储空间进行烧写。
5. 等待烧写过程完成,这可能需要一段时间。
烧写过程中需要注意以下几个点:
1. 在烧写之前,请确保 emmc 芯片已经正确连接到计算机,并且计算机已经启动。
2. 确保镜像文件是正确的,并且已经正确格式化。
3. 如果镜像文件包含多个分区,请确保在 emmc 中正确地格式化这些分区。
4. 在烧写之前,请确保已经备份了重要的数据,以防烧写过程中出现错误。
烧写过程可能会对 emmc 芯片造成损害,因此请谨慎操作。
如果不确定如何烧写镜像到 emmc 中,建议先学习相关知识或寻求专业人士的帮助。
第11课:烧写Linux系统到开发板
《跟我一起学习嵌入式Linux系统开发》第11课:烧写Linux系统到开发板(一)烧写过程概括1、默认NandFlash没有程序的前提下,需要如下的完成烧写过程。
2、制作一张含有Uboot代码的SD卡启动盘,让CPU上电后,可以读到uboot启动代码,完成后面的烧写过程。
3、将拨码开关调整到SD卡启动方式,插入制作好引导程度的SD卡。
上点。
4、SD卡里的Uboot代码已经加载到内存中运行起来了。
之后利用uboot中的USB OTG接口代码,将PC上的uboot.bin\zImage\system.img文件,加载到内存中。
5、然后再将内存中的这些内容,写入到NandFlash中。
6、操作完之后,NandFlash中就有了我们的代码了,这时将拨码开关调整到NandFlash启动,即烧写完毕。
(二)制作引导系统的SD卡注:制作SD卡引导作用是在NandFlash里没有启动代码时,使CPU通过SD卡能够引导启动Uboot。
1、首先选择一张Kingston或Sandisk的正品SD卡,2G,4G均可。
2、在Ubuntu虚拟机环境下解压Uboot源码注:解压命令tar zxvf uboot_smdk210.tar.gz3、解压后进行编译(具体请参考编译Uboot)4、进入uboot的sd_fusing目录。
5、把SD卡插入读卡器中。
然后把读卡器插入PC的USB口此时虚拟机的右下角会出现一个Removable Disk的图标,单击该图标,在出现的菜单中选择Connect此时/dev/目录下会出现关于SD卡的设备节点。
我这里是/dev/sdb用户可以自己插拔SD卡来确认这个节点)、执行./sd_fusing.sh/dev/sdb至此Uboot已经烧入到SD卡中。
(三)通过USB OTG烧写镜像、设置拨码开关,使其从SD卡引导,并将制作好启动的SD卡插入开发板中。
启动方式拨码设置图例SD卡启动ON:23 OFF:14、将串口线和USB OTG线与开发板连接起来、在PC机端打开DNW软件,并进行配置注:此处的COM Port接口为PC机串口的端口号。
linux烧写步骤
linux下编译和烧写bootloader/vivi以及kernel的操作步骤:1、编译和烧写bootloader/vivi首先进入vivi源代码目录:#cd /opt/FriendlyARM/Nano2410A_V2/vivi然后执行#make menuconfig配置在跳出的窗口中选择“Load on Alternate Configuration File”菜单装载arch/nano2410v2然后保存该设置保存完毕,执行命令:#make如果编译过程顺利,将会在当前目录下生成vivi二进制映象文件。
如果板子还没有安装vivi,则可以使用JTAG将生成的vivi 烧写到板子上;如果已经安装了vivi,可以进入vivi控制界面,可以将新生成的vi vi 烧到板子上,命令是:#load flash vivi x2、编译和烧写kernel(内核)内核的编译和烧写,与上面vivi类似:首先进入内核目录:#cd /opt/FriendlyARM/Nano2410A_V2/kernel_2.4.18然后配置内核#make menuconfig方法与vivi类似,在配置窗口中选择“L oad on Alternate Configuration File”菜单,载入arch/arm/nano2410v2,保存后退出,然后可以编译内核,执行命令:#make zImage于是在arch/arm/boot目录下生成zImage,然后可以进入vivi控制界面,使用如下命令将生成的zImage文件通过串口烧写到flash上:(1)FriendlyARM>load flash kernel x //通过xmodem烧写内核映象文件(2)FriendlyARM>load flash kernel u //通过usb烧写内核映象文件。
烧写版本1
一. Linux烧写版本1. sudo ./msp -d2. sudo ./msp -r /dev/sdb partition.bin3. sudo ./msp -w /dev/sdb loadpt.cmm ./4. sudo ./msp -s /dev/sdb loadpt.cmm ./ boot.img || system.img.ext4 || userdata.img.ext4二. windows烧写版本第一种方法:用emmc software download方式1.打开emmc软件2.如下图,在browse中选择端口手机端口。
3.如下图,更改Flash Programmer file name 为EMMCBLD.HEX, Boot Image 为7x30_msimage.mbn4. 如下图,选中Program MMC device only上,在下面的device中选择加载的手机u盘。
5.点击Download 按钮开始更新版本。
第二种方法:在终端开始更新img1.刚编译完成的版本的boot.img 默认是sharp屏的,如果使用的是auo的屏,则将boot_auo.img 重命名为boot.img,将原的boot.img重命名为任意名字均可(注意:如果以后有其他屏的版本,均可使用以上方法替换boot.img)。
2.在终端开始输入命令1)更新全部的imgmsp -d 查看是否加载为了u盘模式msp -r /dev/sdb partition.bin 0msp -w /dev/sdb loadpt.cmm ./ //更新全部的img2)只更新部分imgmsp -d 查看是否加载为了u盘模式msp –c /dev/sdb //檫除msp -r /dev/sdb partition.bin 0msp -s /dev/sdb loadpt.cmm ./ boot.imgmsp -s /dev/sdb loadpt.cmm ./ userdata.img.ext4msp -s /dev/sdb loadpt.cmm ./ system.img.ext43. 弹出的img中:将版本中的 boot.img adsp.mbn EMMCBOOT.MBN amss.mbn //不用操作这一步三.编译不同屏版本:在lephone_004w-perf_defconfig文件中修改编译sharp屏:1. 修改:CONFIG_FB_LCDC_LEPHONE_LS038Y_PANEL=y编译AUO屏:1. 修改CONFIG_FB_MSM_LCDS_AUO_PANEL=y 和CONFIG_FB_MSM_LCDC_AUO_PANEL_H361=y 编译3.61英寸四.编译过程:. build/envsetup.shchoosecambo 1 1 5 3make -j8查看touch状态1. adb shell2. dmesg // 出现 read_REG 0x47等数字为正常如果其为 0xff oxoo 等有问题3. while:;do dmesg -c ;done;五.用fastboot烧写版本1.进入fastboot模式,先按camera键,然后半按开机键2.将编译好的fastboot和img文件放到一起3. ./fastboot flash system system.img.ext4./fastboot flash boot boot.img./fastboot flash userdata userdata.img.ext4。
linux&android烧写
注意:在烧写Linxu、Android系统之前确保U‐boot已经烧写到Nandflash中验证方式:连接串口后,开启实验箱电源,通过串口可以看到有数据显示出来。
如下图所示。
如果没有上述数据显示出来,说明实验箱Nandflash中没有烧写uboot的启动代码,关于如何烧写uboot启动代码,请查看本光盘\u‐boot\images\u‐boot烧写脚本.docx文档。
一、通过USB烧写linux系统1.用usb线连接实验箱与PC机,安装USB下载驱动,因为要通过u‐boot将linux系统文件下载到Nandflash中,安装USB Download Driver.exe(所在文件夹),直接点击下一步即可。
2.重启实验箱,在出现u‐boot信息之后,按空格键,阻止自动引导系统,出现u‐boot功能选择菜单,如下图所示。
3.输入l,执行Linux系统 内核烧写功能。
如下图所示:上述文字说明,OTG USB下载线已经连接好,准备将Android的内核代码文件下载到内存地址0xC0000000中。
4.打开DNW软件,(解压\tools\dnw.zip,直接执行dnw.exe即可),设置下载地址为上一步中的下载地址0xc0000000这时可以看到DNW上面的标题栏里显示:USB:OK, ADDR:0xc0000000,说明USB已经连接并且下载地址已经正确,这时选择USB Port –> Transmit ‐> Transmit,准备向实验箱发送要烧写文件,选择\linux&QT\images\zImage_qt文件,进行发送。
通过串口信息可知实验箱已经接收了DNW发送的文件。
如下图所示。
5.输入r,烧写QT的文件系统,QT的文件系统非常大,有80多M,所以烧写时间比较长,其余步骤和烧写Linux内核一样,请看步骤4。
6.当QT文件系统烧写之毕之后,重启开发箱,同时按着方向键中间的红色按键,即可看到新烧写的QT系统。
烧写Linux的步骤
烧写linux步骤
在装好驱动以后。
1.接好电源线,串口线,拔掉USB附近的【OTG】上的跳线帽;
2.如果硬件是32MB SDRAM,则在【board configure】page选择【SDRAM】为32MB;
3.在【linux】page页选择好要烧写的文件。
如果板子上的SDRAM是32MB的,则要选择【sdramloader_MEM32M.bin】及【u-boot_MEM32m.bin】,内核和根文件系统参见上图。
4.按住核心板上的【mode】键不放,
5.按一下底板上的【reset】键,使芯片进入调试模式。
6.点一下左上角的【B】按钮,初始化内存,软件会出现进度条,并重新在右上角的【device
list】刷新设备名。
7.松开【mode 】键,
8.然后分别点【burn loader+uboot】,【burn kernel】,【burn FS】进行烧写,每项烧写完成,
在右边的窗口均会有信息提示。
实验四 u-boot烧写Linux操作系统
实验四u-boot烧写Linux操作系统一、实验目的1.熟悉u-boot如何通过网络下载Linux操作系统。
2.掌握SD卡烧写Linux内核以及文件系统到Flash中。
二、实验环境预装Fedora10的pc机一台,CVT-A8系列实验箱,以太网线一根,串口线一根,SD卡与读卡器。
三、实验步骤1.打开tftp 工具,设置到要下载Linux 内核的目录(光盘目录为net-linux-flash)。
2.把光盘目录下sd-linux-flash 文件夹内容拷贝到制作好的SD 卡sdfuse 文件夹。
并把sd 卡插入到实验箱的SD 卡槽中。
3.打开超级终端,连接成功。
分别连接实验箱是PC 电脑的串口,网口之后,实验箱上电。
U-boot 启动过程中,按任意键,进入u-boot 命令行模式。
4.查看pc 电脑的IP 地址。
5.通过U-BOOT 设置实验箱serverip 与PC 电脑的IP 地址相同。
并通过命令擦除kernel 区与system 文件系统区。
6.通过u-boot 命令“run loadlinuxramdisk”网络下载Linux 内核与ramdisk 文件系统到SDRAM 中。
下载完成后,Linux 启动,进入Linux 命令行。
这时启动的Linux 系统,引导的是ramdisk 文件系统,只是一个简单的文件系统,不包含QT 图形界面等。
我们引入ramdisk 系统的好处是:(1)方便网络调试linux 内核,不需要每次都烧写flash。
(2)通过ramdisk 文件系统,把flash 的一个区域挂载为Linux 系统Block4 扇区,方便后面的yaffs2 文件系统使用。
7.实验箱的Linux 系统启动后,把sd 卡中的yaffs2 文件系统解压到block4 扇区中,命令如下:解压完成后,重启实验箱,使用u-boot 命令烧写支持YAFFS 文件系统启动的内核zImage-b4y2 到Flash 的Kernel 区中:8.在u-boot 命令中输入命令“run bootlinux”,嵌入式Linux 正常启动,最后进入图形界面如下:四、实验要求1、要求随时观察记录实验结果;2、掌握如何通过u-boot网络下载Linux操作系统。
烧写Linux
一.烧写Linux1.生成一个vivi.bat的文件:先打开一个记事本,在记事本里输入sjf2440/f:vivi/d=5后将其保存成文件名为vivi.bat且保存类型选所有文件。
如图:2.生成的vivi.bat文件如图:3.双击vivi.bat文件进入DOS界面,如图:4.输入0回车;0回车;0回车5.等下载完后按2退出DOS界面:6.打开超级终端:在桌面上点开始/附件/通讯/超级终端。
如图:7.打开超级终端,在配置串口属性的窗口修改:一般我们选COM1口点还原默认值后选波特率为115200流量控制为无。
启动终端后按住空格键即目标板上的复位键,启动目标板,进入vivi命令行.8.在超级终端中,输入:bon part 0 192k 2M (分区)9.在超级终端中,输入:load flash vivi x送/发送文件,后选vivi文件,协议选Xmodem。
如图:点发送进入下一步进行发送11.在超级终端中,输入:load flash kernel x栏里点传送/发送文件,后选zImage文件,协议选Xmodem。
如图:点发送进入下一步进行发送12.在超级终端中,输入:load flash root x用超级终端的Xmodem文件传送功能,烧写linux文件系统root.cramfs二.向目标板上的传输文件该向导帮助用户向目标板传送文件,通过网线前面提到的两个应用程序,最终我们让这两个程序在目标板上运行起来。
由于ztelnet方法一次只能传一个文件速度很慢,所以我们采用nfs(共享)方法。
1.在虚拟机上设LINUX共享,类似WINDOWS的共享。
假设所有的文档都在/qt_arm目录下: 在qt_arm目录下新建一个文件build_ENV其内容如下:./imagewrite /dev/mtd/0 –part 0 192k 2m./imagewrite /dev/mtd/0 vivi:0./imagewrite /dev/mtd/0 zImage:192k./imagewrite /dev/mtd/0 root_qtopia_2440.cramfs:2m保存退出2.编辑/etc/exports文件,另起一行加入如下内容:在终端里敲入命令:#vi /etc/exports进入之后按键盘上的i进行编辑,输入如下内容:/qt_arm 10.192.2.*(rw,sync)后按保存退出即可:先按一下Esc键,再按冒号“:”接着按wq保存退出即可。
Linux 系统的烧写
Linux 系统的烧写Uboot的烧写***烧写内核***烧写文件系统1> Uboot的烧写(把Uboot写入NAND-FLASH中地址0x30000000)步骤:把开发板与PC机连接好打开H-JTAG中的H-Flasher·在1.Flash-Selection中的NAND-FLASH中选择S3C2440+K9F1G08·在2.Configuration中的RAN Start Address中写入0x30000000·在5.Programming中选择Check(擦除),Reset(复位)·在Program中选择目标文件最后选择Program进行烧写。
2>在超级终端中操作:指定内存中内核地址为0x33000000,内核在Nand起始地址为0x60000 ,大小为0x3a0000.内存中文件系统地址为0x30008000,文件系统在Nand起始地址为0x500000 ,大小为0x3e00000.串口烧写:命令步骤:1>烧写内核loadb 0x33000000 //通过串口下载内核//同时在超级终端的发送框中以kermit协议发送uImage文件nand erase 0x60000 0x3a0000 //擦除指定的flash区域nand write 0x33000000 0x60000 0x3a0000//将指定的内存区域内容写至flash指定位置2>烧写文件系统loadb 0x30008000 //通过串口下载文件系统//同时在超级终端的发送框中以kermit协议发送root.cramfs文件nand erase 0x500000 0x3e00000 //擦除指定的flash区域nand write 0x30008000 0x500000 0x3e00000//将指定的内存区域内容写至flash指定位置3>设置环境变量setenv bootargs root=/dev/mtdblock2 console=ttySAC0 init=/linuxrc saveenv //保存变量设置reset //重启4>开启Linux系统nand read 0x33000000 0x60000 0x3a0000//从指定的flash区域读到内存指定位置bootm 0x33000000 //引导uImage内核5>进入系统网络烧写:命令步骤:先用printfenv查看一下设备的server IP把PC机IP修改成server IP 打开tftp服务器1>烧写内核tftp 0x33000000 uImage//通过网口下载内核发送uImage文件nand erase 0x60000 0x3a0000 //擦除指定的flash区域nand write 0x33000000 0x60000 0x3a0000//将指定的内存区域内容写至flash指定位置2>烧写文件系统tftp 0x30008000 root.cramfs//通过网口下载文件系统发送root.cramfs文件nand erase 0x500000 0x3e00000 //擦除指定的flash区域nand write 0x30008000 0x500000 0x3e00000//将指定的内存区域内容写至flash指定位置3>设置环境变量setenv bootargs root=/dev/mtdblock2 console=ttySAC0 init=/linuxrc saveenv //保存变量设置reset //重启4>开启Linux系统nand read 0x33000000 0x60000 0x3a0000//从指定的flash区域读到内存指定位置bootm 0x33000000 //引导uImage内核5>进入系统。
Linux系统的烧写
Linux系统的烧写Linux 系统的烧写Uboot的烧写***烧写内核***烧写文件系统1> Uboot的烧写(把Uboot写入NAND-FLASH中地址0x30000000)步骤:把开发板与PC机连接好打开H-JTAG中的H-Flasher在 1.Flash-Selection中的NAND-FLASH中选择S3C2440+K9F1G08在2.Configuration中的RAN Start Address中写入0x30000000 在5.Programming中选择Check(检查),Reset(复位),在Program中选择目标文件最后选择Program进行烧写。
2> Uboot相关命令介绍printenv 查看环境变量setenv 添加,修改,删除环境变量例 setenv aaa 123 //添加环境变量aaa其值为123setenv aaa 789 //在上行变量基础上把aaa的值修改(重设)为789setenv aaa //把aaa变量删除saveenv 保存环境变量flinfo 查看flash信息bdinfo 查看开发板信息查看和修改内存值的指令(可以查看和修改SDRAM和寄存器值)[.b, .w, .l]代表了查看和修改形式:bit、word、longmd 查看内存参数 md.b [address] //按字节显示md.w [address] //按字显示md.l [address] //按长字显示nm 修改内存值 (指定地址)参数 nm.b [address] //按字节显示nm.w [address] //按字显示nm.l [address] //按长字显示mm 内存修改,地址自动递增参数 mm.b [address] //按字节显示mm.w [address] //按字显示mm.l [address] //按长字显示mw 用指定的数据填充内存参数 mw.b [address value ] //按字节显示mw.w [address value ] //按字显示mw.l [address value ] //按长字显示cp 内存的拷贝(包括内存与Nor Flash间的数据拷贝)参数 cp.b [source target count] //按字节显示cp.w [source target count] //按字显示cp.l [source target count] //按长字显示例 cp source dest lenprotect 扇区写保护(对Flash 写保护)protect on all 保护全开protect off all 保护解除protect on start end //start end是照起始地址和结束地址定义范围,protect off start end //start是保护块的起始地址;//end 是保护末尾块的结束地址。
linux系统烧录原理
Linux系统烧录原理概述在嵌入式设备和计算机领域,烧录是指将操作系统或其他软件通过某种方式写入设备存储器中的过程。
本文将介绍Li nu x系统烧录的原理,包括烧录的基本概念、常见的烧录方法和烧录工具的使用等内容。
一、烧录的概念和作用烧录是将软件写入设备存储器中的过程,其作用是将操作系统或其他软件加载到设备中,使设备能够正常运行所需的程序和数据。
通过烧录,我们可以更新设备上的软件版本、修复错误和添加新功能。
二、L i n u x系统烧录方法L i nu x系统烧录的方法有很多种,下面将介绍常见的几种方法:1.U盘烧录法U盘烧录法是最常见的烧录方法之一。
首先,我们需要将要烧录的L i nu x系统镜像文件下载到电脑上,并将U盘插入电脑。
然后,使用烧录工具将Li nu x系统镜像文件写入U盘中,烧录完成后,将U盘插入目标设备并开机即可。
2.S D卡烧录法S D卡烧录法适用于一些支持S D卡启动的设备。
首先,将要烧录的L i nu x系统镜像文件下载到电脑上,然后将S D卡插入电脑。
接下来,使用烧录工具将Li nux系统镜像文件写入S D卡中,烧录完成后,将S D卡插入目标设备并开机即可。
3.T F T P烧录法T F TP烧录法通常用于网络设备的烧录。
首先,我们需要一个T FT P服务器和目标设备在同一个局域网中。
然后,在TF TP服务器上设置好烧录文件的路径,并将要烧录的L in ux系统镜像文件放置在该路径下。
接下来,在目标设备上设置好网络参数,使其能够访问到TF TP服务器。
最后,通过目标设备的引导程序,从TF TP服务器下载并烧录Li nux系统镜像。
三、烧录工具的使用为了完成Li nu x系统的烧录,我们需要借助一些烧录工具。
以下列举了几个常用的烧录工具:1.E t c h e rE t ch er是一个功能强大且易于使用的烧录工具,支持多种操作系统,包括Wi nd ow s、Ma c和L in ux。
嵌入式linux系统烧写
嵌入式linux系统烧写方法1:minitools(ARM开发板专用USB烧写工具)工具一键烧写(1)下载并安装minitools工具软件(windows下)(2)准备好系统内核映像zImage、根文件系统映像rootfs.img、友善之臂提供的配置文件FriendlyARM.ini、bootloader——superboot.bin (3)用SD-Flasher工具将Superboot烧写到SD卡中;将光盘中的images/FriendlyARM.ini文件拷贝到SD卡中的images目录下;编辑SD 卡中的images/FriendlyARM.ini文件文件,增加以下内容:USB-Mode = yes(4)链接USB线,SD卡启动,开机上电,minitools显示已成功链接即可选择“linux”选项进入系统烧写,按要求选择对应的bootloader、zlmage、root.img(5)CommandLine一栏填写如下信息:root=/dev/mtdblock4 rootfstype=yaffs2 console=ttySAC0,115200 init=/linuxrc(6)点击开始烧写直到完成100%(7)断电关机,选择nand flash启动,即可通过串口超级终端或linux 下的minicom命令查看到内核是否烧写成功。
方法2:SD卡烧写(1)用SD-Flasher工具将Superboot烧写到SD卡中,新建文件夹images,并创建\images\Linux文件夹;(2)将内核映像zImage文件,rootf_qt.img文件复制到Linux文件夹中;(3)将Superboot210.bin,FriendlyARM.ini(配置文件)文件放到images文件夹中;(4)将images文件夹复制到烧写了Superboot的内存卡中;(5)内存卡插入开发板,选择从SD卡启动,烧写系统到NAND FLASH中;(6)烧写完毕,选择从NAND FLASH启动,则开机运行。
linux烧写实验uboot+内核+根文件系统
linux烧写实验uboot+内核+根文件系统开发板的烧写实验注意emmc的分区分区的原则,每个分区的应该大于等于要存储镜像文件的大小0--------1M-------65M--------819M---------8192M扇区 0 0x800 0x20800 0x199800 0x1000000 uboot uImage rootfs userdata4.1烧写uboot空板子,emmc中无任何代码,可以借助TF来完成烧写参考arm/day01板子上有ubootcp /mnt/hgfs/porting/env/uboot.bin /tftpboot/tftp 0x48000000 uboot.binupdate_mmc 2 2ndboot 0x48000000 0x200 0x555f0 2: 板子emmc设备2ndboot: 分区的名称0x48000000:源数据地址0x200: 写入的偏移位置0x555f0: 写入的数据长度 (下载uboot.bin大小)4.2 烧写linux内核cp /mnt/hgfs/porting/env/uImage /tftpboot/tftp 0x48000000 uImagemmc write 0x48000000 0x800 0x3000reset倒数读秒不打断, uboot会自动执行bootcmd对应的命令mmc read 48000000 800 4000 ; bootm 48000000uboot会自动读取内核 ; 启动内核setenv bootcmd mmc read 0x48000000 0x800 0x4000 \; bootm 0x48000000saveenvsetenv bootdelay 10saveenvhelp mmcmmc write addr blk# cntaddr: 源数据地址blk#: 要写入的位置(扇区)emmc中一个扇区512Bytecnt: 要操作的扇区个数下载文件的大小 / 512 = 0x2912...4.3 烧写根文件系统cp /mnt/hgfs/porting/env/rootfs_ext4.img /tftpboot/tftp 0x48000000 rootfs_ext4.imgmmc write 0x48000000 0x20800 0x32000setenv bootargs root=/dev/mmcblk0p2 rootfstype=ext4console=ttySAC0,115200 maxcpus=1lcd=vs070cxn tp=gslx680-linux// setenv bootargs root=/dev/mmcblk0p2 init=/linuxrc rootfstype=ext4console=ttySAC0,115200 maxcpus=1lcd=vs070cxn tp=gslx680-linuxinit=/linuxrc指的一号进程saveenvroot: 指定根文件系统所在的分区(设备) rootfstype: 文件系统类型console: ttySAC0 (串口)maxcpus=1: 只启动CPU0lcd:指定LCD屏的类型tp:指定触摸屏的型号重启开发板用户名:root密码: 123456杀死qttest启动qttest观察界面反应擦除根文件系统mmc erase 0x20800 0x40000。
烧写linux镜像到emmc中的方法
烧写linux镜像到emmc中的方法烧写Linux镜像到eMMC中是在嵌入式系统开发中常见的操作。
eMMC(嵌入式多媒体卡)是一种用于嵌入式系统的闪存存储设备,它具有高速、可靠和稳定的特性。
以下是一种常见的方法来烧写Linux镜像到eMMC中的步骤:1. 准备工作:在开始烧写之前,需要准备一些工具和材料,包括:- 一台电脑或开发主机- eMMC烧写工具(如SD卡读卡器、USB转接器等)- eMMC嵌入式模块或嵌入式开发板- Linux镜像文件2. 连接eMMC模块:将eMMC模块连接到电脑或开发主机上,可以使用SD卡读卡器或USB转接器等工具。
确保连接稳定可靠,以避免数据丢失或损坏。
3. 格式化eMMC:在烧写之前,需要格式化eMMC,以确保它是一个干净的存储介质。
可以使用磁盘管理工具(如GParted)来进行格式化操作。
选择eMMC设备,删除所有分区并创建一个新的分区。
4. 使用烧写工具烧写Linux镜像:选择一个适合的烧写工具来将Linux镜像写入eMMC。
常见的工具包括dd命令、balenaEtcher、ddrescue等。
这些工具通常提供图形界面和命令行接口,可以根据自己的喜好选择。
- 如果使用dd命令,可以通过以下命令将Linux镜像写入eMMC:```sudo dd if=/path/to/linux_image.img of=/dev/sdX bs=4M status=progress```其中,`if`参数指定Linux镜像文件的路径,`of`参数指定eMMC设备的路径(例如,/dev/sdX),`bs`参数指定块大小,`status=progress`参数可以显示烧写进度。
- 如果使用balenaEtcher等烧写工具,只需选择Linux镜像文件和eMMC设备,然后点击烧写按钮即可。
5. 等待烧写完成:烧写过程可能需要一些时间,具体取决于Linux镜像的大小和烧写工具的性能。
在烧写过程中,不要中断或移动eMMC设备,以免导致数据损坏。
linux系统烧写
打开桌面CRT软件如下图或者点击文件—》快速连接
在协议选择serial如下图:
设置好后点击连接
因为一个串口设备只能有有个程序连接
打开虚拟机把serial禁止掉
进入到CRT软件回车:如下图
最终得到如下图就ok
系统烧写:
1、准备工作:
安装fastboot烧写工具
解压004里面的fastboot.rar压缩包,并且把里面所有文件拷贝到C:\WINDOWS\system32 2、打开crt启动开发板在3秒内在crt终端敲回车如下图:
3、用usb线把开发板和电脑连接起来
4、在终端输入fastboot回车---会提升让安装驱动—把网络暂时断掉
安装驱动选择(从列表指定位置安装)--》下一步
选择指定的驱动x210_android_driver
5、烧写
打开windows—》运行—输入cmd
烧写uboot
在上图终端中输入fastboot flash uboot u-boot.bin
重启在开发板终端输入fastboot
烧写kernel
在上图终端中输入fastboot flash kernel uImage-7Inch
烧写system文件系统
在上图终端中输入fastboot flash system rootfs-qtopia-finish.img 重启。
arm_Linux系统烧写
MC9260-EK Linux系统烧写方法(最后修改时间:2011年3月21日)内容提要:介绍NandFlashBoot、U-boot、内核、文件系统的烧写方法说明:本主板设计为从NandFlash启动,linux内核采用linux-2.6.30版本,文件系统采用jffs2根文件系统。
我们提供的主板已经烧写好了所有的系统,如果希望自己尝试烧写系统,您需要依次烧写NandFlashBoot、U-boot、内核、文件系统。
使用SAM-BA软件烧写NandFlashBoot和U-boot。
并通过网络烧写内核和文件系统,还需要用到tftpd 软件。
整个过程都需要使用终端软件来查看和配置相关信息,您可以使用您习惯的终端软件,如超级终端、minicomm等。
本文档所涉及的软件和镜像文件在光盘的相关文件夹中。
内存地址与烧写程序对应如下:0--0x4096 NandFlashBoot0x20000--0x100000 U-boot0x100000--0x300000 内核0x300000--All 文件系统和用户空间1、安装SAM-BA V2.10首先需要安装我们光盘中工具软件目录附带的软件sam-ba_2.10.exe。
双击按照软件提示即可正确完成安装。
安装过程中杀毒软件可能会提示是否允许修改,请允许。
安装完成后,用我们提供的A-B型USB线将板子USB Device接口与电脑相连,断开核心板上跳线J4(确保核心板跳线J3也是断开的),上电。
此时,电脑会提示找到新的硬件,选择自动安装驱动程序。
2、烧写启动引导程序保证主板断电,拔下J4跳帽,然后上电。
运行SAM-BA V2.10,若PC与主板正常连接,会出现如下界面:Select the connection 选择\usb\ARM0,Select the board 选择at91sam9260-ek点Connect,耐心等待数秒后,进入SAM-BA主界面插上跳帽。
第11课:烧写Linux系统到开发板
《跟我一起学习嵌入式Linux系统开发》第11课:烧写Linux系统到开发板(一)烧写过程概括1、默认NandFlash没有程序的前提下,需要如下的完成烧写过程。
2、制作一张含有Uboot代码的SD卡启动盘,让CPU上电后,可以读到uboot启动代码,完成后面的烧写过程。
3、将拨码开关调整到SD卡启动方式,插入制作好引导程度的SD卡。
上点。
4、SD卡里的Uboot代码已经加载到内存中运行起来了。
之后利用uboot中的USB OTG接口代码,将PC上的uboot.bin\zImage\system.img文件,加载到内存中。
5、然后再将内存中的这些内容,写入到NandFlash中。
6、操作完之后,NandFlash中就有了我们的代码了,这时将拨码开关调整到NandFlash启动,即烧写完毕。
(二)制作引导系统的SD卡注:制作SD卡引导作用是在NandFlash里没有启动代码时,使CPU通过SD卡能够引导启动Uboot。
1、首先选择一张Kingston或Sandisk的正品SD卡,2G,4G均可。
2、在Ubuntu虚拟机环境下解压Uboot源码注:解压命令tar zxvf uboot_smdk210.tar.gz3、解压后进行编译(具体请参考编译Uboot)4、进入uboot的sd_fusing目录。
5、把SD卡插入读卡器中。
然后把读卡器插入PC的USB口此时虚拟机的右下角会出现一个Removable Disk的图标,单击该图标,在出现的菜单中选择Connect此时/dev/目录下会出现关于SD卡的设备节点。
我这里是/dev/sdb用户可以自己插拔SD卡来确认这个节点)、执行./sd_fusing.sh/dev/sdb至此Uboot已经烧入到SD卡中。
(三)通过USB OTG烧写镜像、设置拨码开关,使其从SD卡引导,并将制作好启动的SD卡插入开发板中。
启动方式拨码设置图例SD卡启动ON:23 OFF:14、将串口线和USB OTG线与开发板连接起来、在PC机端打开DNW软件,并进行配置注:此处的COM Port接口为PC机串口的端口号。
烧写S3C2410实验平台linux系统
本次实验所需要的几个文件
下进行,需要的文件如下: 在windows xp 下进行,需要的文件如下: vivi zImage root.cramfs sjf2410sjf2410-s.exe GIVEIO 目录 操作系统启动的bootloader; linux 操作系统启动的bootloader; 操作系统内核; linux 操作系统内核; 根文件系统; 根文件系统; JTAG烧录程序 JTAG烧录程序 JTAG接口的驱动 JTAG接口的驱动
选择Flash, 选择Flash,选0 Flash
选择jtag flash的两种功能 也选0 的两种功能, 选择jtag 对flash的两种功能,也选0
广州航海高等专科学校 计算机与信息工程系
sjf2410- /f:vivi命令过程 sjf2410-s /f:vivi命令过程
[SMC(K9S1208V0M) NAND Flash Writing Program] Source size:0h~f917h Available target block number: 0~4095 Input target block number: 0 target start block number target size =0 (0x4000*n) =0x10000
广州航海高等专科学校 计算机与信息工程系
本次实验所需设备
S3C2410实验箱 S3C2410实验箱 并口线 JTAG接口(14针接口) JTAG接口(14针接口) 接口 针接口 串口线 PC+windows 超级终端) (超级终端)
两个串口 本次试验用上面这个 电源 开关 复位 JTAG接口 接口
name offset size flag size --------------------------------------------------vivi 0x00000000 0x00020000 0 128k param 0x00020000 0x00010000 0 64k kernel 0x00030000 0x000d0000 0 1024K root 0x00100000 0x00300000 4 3M user 0x00400000 0x03cfc0000 32 60M+1008K
2410经典-Linux系统烧写
2410经典Linux系统烧写在windows xp 下进行Linux系统烧写即恢复到出厂状态时,需要的文件在光盘中的Linux\img目录和flashvivi目录下提供。
烧写2410-CL linux 操作系统包括烧写vivi,kernel,root三个步骤,除此我们还要烧写应用程序,这四个文件分别为:vivi ---- linux操作系统启动的bootloader; zImage ---- linux操作系统内核;root.cramfs ---- 根文件系统;yaffs.tar.bz2 ---- 应用程序压缩包。
一.烧写vivi1.把并口线插到pc机的并口,并把并口的另一端与实验箱上端的UP-LINK相连,打开2410-CL电源(12V)。
2.把整个GIVEIO目录(在光盘的img/flashvivi目录下)拷贝到c:/windows下,并把该目录下的giveio.sys文件拷贝到c:/windows/system32/drivers下。
3.在我的电脑里打开控制面板,选添加硬件,点击“下一步”,如下图所示:选择“是,我已经连接了此硬件”然后点击“下一步”,如下图所示:选中“添加新的硬件设备”然后点击“下一步”,如下图所示:选中“安装我手动从列表选择的硬件”后点击“下一步”,如下图所示:选择“显示所有设备”然后点击“下一步”,如下图所示:选择“从磁盘安装”然后点击“下一步”,如下图所示:选择“浏览”,指定驱动为C:\WINDOWS\GIVEIO\giveio.inf文件,如下图所示:选择giveio.inf文件,然后点击“打开”,如下图所示:然后选择“确定”,如下图所示:点击“下一步”至“完成”即安装好驱动。
如下图所示:4.在d盘新建一目录bootloader,把sjf2410-s.exe(在flashvivi 目录下)和要烧写的vivi,linux操作系统内核,根文件系统和应用程序压缩包拷贝到该目录下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
mw 用指定的数据填充内存
参数 mw.b [address value ] //按字节显示
mw.w [address value ] //按字显示
mw.l [address value ] //按长字显示
//同时在超级终端的发送框中以kermit协议发送root.cramfs文件
nand erase 0x500000 0x3e00000 //擦除指定的flash区域
nand write 0x30008000 0x500000 0x3e00000
//将指定的内存区域内容写至flash指定位置
结束地址为0x3a0000.
内存中文件系统地址为0x30008000,文件系统在Nand起始地址为0x500000 ,
结束地址为0x3e00000.
串口烧写:
命令步骤:
1>烧写内核
loadb 0x33000000 //通过串口下载内核
//同时在超级终端的发送框中以kermit协议发送uImage文件
nand write 0x30008000 0x500000 0x3e00000
//将指定的内存区域内容写至flash指定位置
3>设置环境变量
setenv bootargs root=/dev/mtdblock2 console=ttySAC0 init=/linuxrc
3>设置环境变量
setenv bootargs root=/dev/mtdblock2 console=ttySAC0 init=/linuxrc
saveenv //保存变量设置
reset //重启
4>开启Linux系统
nand read 0x33000000 0x60000 0x3a0000
对Nand flash擦除数据
Nand erase start size
向Nand flash中写数据
Nand write src(sdram) dest size
在超级终端中操作:
指定内存中内核地址为0x33000000,内核在Nand起始地址为0x60000 ,
erase 擦除Flash的命令
erase all 擦除全部
erase start end //start end是照起始地址和结束地址定义范围,
//start是擦除块的起始地址;
5>进入系统
protect on start +size //start +size是照起始地址和操作字节数定义范围
protect off start +size //start是保护块的起始地址;
//size 是保护的字节数。
md 查看内存
参数 md.b [aห้องสมุดไป่ตู้dress] //按字节显示
md.w [address] //按字显示
md.l [address] //按长字显示
nm 修改内存值 (指定地址)
参数 nm.b [address] //按字节显示
//SF 表示保护起始Sector号,SL 表示保护结束Sector号。
例如:保护Block1 的Sector 2和Sector 3区域命令为protect 1:2-3
protect on bank N //bank N是保护整个Block,
protect off bank N //保护Block号为N 的整个Flash
saveenv 保存环境变量
flinfo 查看flash信息
bdinfo 查看开发板信息
查看和修改内存值的指令(可以查看和修改SDRAM和寄存器值)
[.b, .w, .l]代表了查看和修改形式:bit、word、long
saveenv //保存变量设置
reset //重启
4>开启Linux系统
nand read 0x33000000 0x60000 0x3a0000
//从指定的flash区域读到内存指定位置
bootm 0x33000000 //引导uImage内核
//end 是擦除末尾块的结束地址。
例如:擦除Sector 2和Sector 3区域命令为erase 20000 3ffff
erase start +size //start +size是照起始地址和操作字节数定义范围
//将指定的内存区域内容写至flash指定位置
2>烧写文件系统
tftp 0x30008000 root.cramfs
//通过网口下载文件系统发送root.cramfs文件
nand erase 0x500000 0x3e00000 //擦除指定的flash区域
nm.w [address] //按字显示
nm.l [address] //按长字显示
mm 内存修改,地址自动递增
参数 mm.b [address] //按字节显示
mm.w [address] //按字显示
//start是擦除块的起始地址;
//size 是擦除的字节数。
例如:擦除Sector 2和Sector 3区域命令为erase 20000 +20000
例 cp source dest len
protect 扇区写保护(对Flash 写保护)
protect on all 保护全开
protect off all 保护解除
protect on start end //start end是照起始地址和结束地址定义范围,
1>烧写内核
tftp 0x33000000 uImage
//通过网口下载内核发送uImage文件
nand erase 0x60000 0x3a0000 //擦除指定的flash区域
nand write 0x33000000 0x60000 0x3a0000
例如:保护Sector 2和Sector 3区域命令为protect 20000 +20000
protect on N:SF[-SL]
protect off N:SF[-SL]
//N:SF[-SL]是按照组和扇区,N 表示Flash 的Block号,
nand erase 0x60000 0x3a0000 //擦除指定的flash区域
nand write 0x33000000 0x60000 0x3a0000
//将指定的内存区域内容写至flash指定位置
2>烧写文件系统
loadb 0x30008000 //通过串口下载文件系统
//从指定的flash区域读到内存指定位置
bootm 0x33000000 //引导uImage内核
5>进入系统
网络烧写:
命令步骤:
先用printfenv查看一下设备的server IP
把PC机IP修改成server IP 打开tftp服务器
setenv 添加,修改,删除环境变量
例 setenv aaa 123 //添加环境变量aaa其值为123
setenv aaa 789 //在上行变量基础上把aaa的值修改(重设)为789
setenv aaa //把aaa变量删除
erase bank N //bank N是擦除整个Block,
//擦除Block号为N 的整个Flash
从Nand flash中读数据
Nand read dest(sdram) src(Flash) size
Linux 系统的烧写
Uboot的烧写***烧写内核***烧写文件系统
1> Uboot的烧写(把Uboot写入NAND-FLASH中地址0x30000000)
步骤:
把开发板与PC机连接好
打开H-JTAG中的H-Flasher
在1.Flash-Selection中的NAND-FLASH中选择S3C2440+K9F1G08
cp 内存的拷贝(包括内存与Nor Flash间的数据拷贝)
参数 cp.b [source target count] //按字节显示
cp.w [source target count] //按字显示
cp.l [source target count] //按长字显示
protect off start end //start是保护块的起始地址;
//end 是保护末尾块的结束地址。
例如:保护Sector 2和Sector 3区域命令为protect 20000 3ffff
在2.Configuration中的RAN Start Address中写入0x30000000
在5.Programming中选择Check(检查),Reset(复位),
在Program中选择目标文件最后选择Program进行烧写。
2> Uboot相关命令介绍
printenv 查看环境变量
erase N:SF[-SL]
//N:SF[-SL]是按照组和扇区,N 表示Flash 的Block号,
//SF 表示擦除起始Sector号,SL 表示擦除结束Sector号。
例如:保护Block1 的Sector 2和Sector 3区域命令为erase 1:2-3