2021-05-06


一、Windows下使用OTG烧写系统

硬件连接

1、在windows使用NXP提供的mfgtool来向开发烧写系统。需要先将开发板的USB_OTG接口连接到电脑上
2、mfgtool工具是向板子先下载一个Linux系统,然后通过这个系统来完成烧写系统
切记使用OTG烧写的时候要先将SD卡拔出来,等USB_OTG与电脑连接成功以后就可以再将SD卡插进去
烧写系统都是烧写到NAND或者EMMC里面
(NAND1、5、8拨上去)

二、何为uboot

1、uboot是一个裸机程序,比较复杂
2、uboot就是一个bootloader,作用作用就是用于启动Linux或其他系统。Uboot最主要的工作就是初始化DDR,因为Linux是运行在DDR里面的。一般Linux镜像zlmage(ulmage)+设备树(.dbt)存放在SD、EMMC、NAND、SPI FLASH等等外置储存区域

这里就牵扯到一个问题
需要将Linux镜像从外置flash拷贝到DDR中,再去启动
uboot的主要目的就是为系统的启动做准备
uboot不仅仅能启动Linux,还可以启动其他系统,如vxworks.
Linux不仅仅能通过uboot启动
uboot是个通用的bootloader,他支持多种架构

嵌入式底层驱动开发
进度:
系统移植:1、2、3、9、10、11、13、14、15(了解)
驱动:1-18(熟悉)

1、bootloader的工作原理及作用
2、u-boot两个阶段的工作任务有哪些
3、经常使用的u-boot命令有哪些
4、如何编译u-boot并烧写到开发板

1、Linux内核组成模块有哪些?Linux版本号的作用
2、Linux内核配置裁剪内核
3、Linux内核的启动流程

1、根文件系统的作用
2、如何制作根文件系统
3、nfs、ftp的作用

往内核添加程序(功能)

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


static int__init hello_init(void)
{
      printk("hello init\n");
      return 0;
}
static void__exit hello_exit(void)
{
      printk("hello exit\n");
}
module_init(hello_init);//指定加载驱动时执行的第一个函数
module_exit(hello_exit);//指定卸载驱动时
#KERNELDIR := / root/driver/linux-imx-rel imx 4.1.15 2.1.0 ga alientek

KERNELDIR :=/lib modules/5.4.0- 66- generic/build 
//指定依赖哪个内核源码进行编译
#E↑59i#1iCURRENT PATH := $(shell pwd)

obj-m := hello.o
build: kernel modules

kernel modules:

$(MAKE) -C $(KERNELDIR) M=$ (CURRENT PATH) modulesclean:

$(MAKE) -C $(KERNELDIR) M=$(CURRENT PATH) clean

执行的函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_49181551

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值