韦东山-烧写uboot、kernel、文件系统

韦东山的烧写方式:

1  oflash烧写

     在windows上找到oflash的文件夹 输入 oflash <要烧写的文件名> 之后安装步骤即可。

     该方法是用openjtag烧写的。

2  usb+dnw烧写

    韦东山uboot的开机界面,在数秒时按空格。电脑端打开dnw软件,configuration->opention连接软件、USB Port->transmit 选择要烧写的文件

3  uboot+tftp烧写flash

3.1 烧写前的准备

    一、nandflash分区信息

    OpenJTAG> mtdpart

    device nand0 <nandflash0>, # parts = 4

     #: name                size            offset          

    0: bootloader          0x00040000      0x00000000     //256k

    1: params             0x00020000      0x00040000     //128k

    2: kernel              0x00200000      0x00060000     //2m  

    3: root                0x0fba0000      0x00460000     //余下全部

    三、设置环境变量

    print       //打印环境变量

    save        //保存环境变量

    setenv bootdelay 5    //设置bootcmd延时5

    setenv ipaddr 192.168.1.226      //设置开发板IP

    setenv serverip 192.168.1.200    //设置服务器ip(Windows)   你电脑端的ip,在tftp中要用到

    setenv gatewayip 192.168.1.254   //设置网关

    setenv netmask       255.255.255.0 //设置子网掩码


3.2 重新烧写整个系统步骤:

 格式化:nand scrub

uboot中的环境变量保存到nand flash 中: saveenv


查看分区信息:

 烧写uboot:(因为要使用tftp所以要打开tftp工具,要配置ipaddr和serverip)

   tftp 0x30008000 u-boot.bin //将uboot.bin 下载到sdram 0x30008000

   nand erase bootloader //擦除bootloader区域  同 nand erase 0x60000 0x20000 

   nand write 0x30008000 bootloader //烧写到bootloader  同 nand write 0x30008000 0x0 40000


烧写内核

tftp 0x30008000 uImage

nand erase kernel   //同 nand erase 60000 200000

nand write 0x30008000 kernel  //同 nand write 0x30008000 60000 200000


tftp 0x30008000 fs_mini.yaffs2

nand erase root  //同 nand erase 260000 fda0000

nand write.yaffs 0x30008000 260000 $(filesize) // $(filesieze) 是 fs_mini.yaffs2 的大小,在tftp一步会有提示信息说明大小


//烧写JFFS至NandFlash

打开 tftpd32.exe 软件,将 fs_mini.jffs2 拷贝至工作目录

在SecureCRT中依次输入:

tftp 0x30008000 fs_mini.jffs2

nand erase root

nand write.jffs2 0x30008000 root $(filesize) // $(filesieze) 是 fs_mini.yaffs2 的大小




hi35xx  spi flash烧写:


        uboot烧写:
mw.b 82000000 ff 100000;tftp 0x82000000 uboot3518e.bin;sf probe 0;sf erase  0x0000  0x100000;sf write 82000000 0x0000 0x100000;

内核烧写
mw.b 82000000 ff 300000;tftp 0x82000000  uImage;sf probe 0;sf erase  100000  300000;sf write 82000000 100000 300000;

文件系统烧写
mw.b 82000000 ff c00000;tftp 0x82000000  rootfs.jffs2;sf probe 0;sf erase  400000  c00000;sf write 82000000 400000 c00000;


设置启动参数
setenv bootargs 'mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)';

        setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000';

        saveenv;



















1.1 课程内容嵌入式软件工程师的学习路线一般是:单片机、RTOS、Linux。当你掌握单片机开发后,如果要进一步提升编程水平,建议学习RTOS(Real Time Operating System,实时操作系统)。有很多优秀的RTOS,比如FreeRTOS、RT-Thread、UCOS等等。FreeRTOS使用范围最广泛,RT-Thread生态丰富,UCOS是收费的并且很少使用了。对于初学者,建议先学习FreeRTOS。只要学会了任意一款RTOS,肯定就会使用其他RTOS了。我们在2022年已经推出了“FreeRTOS快速入门”课程。为何还要重新制作“FreeRTOS入门与工程实践”?“FreeRTOS快速入门”只是讲解FreeRTOS的各类API的理论、用法、示例,这些实验是基于Keil自带的STM32F103模拟器。没有使用更多的硬件模块、不能体现工作中的实际场景。在“FreeRTOS入门与工程实践”,将引入更多的硬件模块,并展示实际工程示例中的用法。另外,基于RTOS的程序一般都比较复杂,涉及的源文件非常多,在工作中一般都基于“面向对象”的思想来程序。所以,本课程会涉及如下内容:讲解FreeRTOS的常用API:理论、用法选择合适的硬件模块,展示这些API的实例实现合适的小项目,展示工作中的编程方法1.2 讲课方式对于每一个实验,我们会精心设计:要解决什么问题;然后讲解FreeRTOS提供的解决方法。讲解FreeRTOS的API及内部原理(不深入讲解内部源码,只是进行原理性介绍)讲解实验过程使用的模块的接口函数(只讲使用,不讲内部实现,模块的源码实现单独开课讲解)讲解原理时,配合着文档、现场画图进行讲解,跟学校老师黑板一样最后现场从0编程序并调试一切都是现场操作,绝对不会照着PPT念,绝对不会照着现成的代码讲解。只有现场从0操作,学员才能身临其境地学习,跟着教程:碰到问题、解决问题。1.3 硬件平台本课程基于DshanMCU-103开发套件进行开发,它由3部分组成:STM32F103C8T6的最小系统板、扩展底板、各类模块。如下图所示:  上述硬件再加一个ST-Link即可学完本课程所有内容。主板DshanMCU-103是基于STM32F103C8T6的最小系统板。之所以选择最小系统板,而不是把所有模块都放在一个整体的电路板上,目的如下:低成本尝试:嵌入式软件开发并不一定适合你,可以购买最小系统板进行体验、及时放弃按需购买:用到再买,讲究一个性价比 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值