- 博客(14)
- 资源 (51)
- 收藏
- 关注
原创 Linux内核移植之四:内核启动过程
内容来自 韦东山《嵌入式Linux应用开发完全手册》 与移植U-Boot的过程相似,在移植Linux之前,先了解它的启动过程。Linux的启动过程可以分为两部分:架构/开发板相关的引导过程、后续的通用启动过程。如图16.7所示是ARM架构处理器上Linux内核vmlinux的启动过程。之所以强调是vmlinux,是因为其他格式的内核在进行与vmlinux相同的流程之前会有一些独特的操作。比如对于压缩格式的内核zlmage,它首先进行自解压得到vmlinux,然后执行vmlinux开...
2020-05-26 18:00:35 613
原创 Linux内核移植之三:内核配置选项
内容来自 韦东山《嵌入式Linux应用开发完全手册》 Linux内核配置选项多达上千个,一个个地进行选择既耗费时间,对开发人员的要求也比较高(需要了解每个配置选项的作用)。一般的做法是在某个默认配置文件的基础上进行修改,比如我们可以先加载配置文件arch/arm/configs/s3c2410_defconfig,再增加、去除某些配置选项。 下面分3部分介绍内核配置选项,先从整体介绍主菜单的类别,然后分别介绍和移植系统关系比较密切的“System Type”、“...
2020-05-26 17:59:41 1488
原创 Linux内核移植之二:Kconfig分析
内容来自 韦东山《嵌入式Linux应用开发完全手册》 在内核日录下执行“make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-”时,就会看到一个如图16.3所示的菜单,这就是内核的配置界面。通过配置界面,可以选择芯片类型、选择需要支持的文件系统,去除不需要的选项等,这就称为“配置内核”。注意,也有其他形式的配置界面,比如“make config”命令启动字符配置界面,对于每个选项都会依次出现一行提示信息,逐个回答;“make xconfig...
2020-05-26 17:59:10 545
原创 Linux内核移植之一:内核源码结构与Makefile分析
内容来自 韦东山《嵌入式Linux应用开发完全手册》一、内核介绍1、版本及其特点 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如下面几行它们构成了Linux的版本号:2.6.22.6。VERSION=2PATCHLEVEL=6SUBLEVEL =22EXTRAVERSION=.6 其中的“VERSION”和“PATCHLEVEL”组成主版本号,比如2.4、2.5、2.6等,稳定版本的主版本号用偶数表示(比如2.4、...
2020-05-26 17:58:11 789
原创 U-Boot移植教程之一:U-Boot分析与启动过程
一、Bootloader的引出 当系统上电时,并不是直接进入Linux系统的,而是需要先执行一段程序来把单片机的硬件外围初始化好,比如:看门狗、单片机时钟、存储控制器等。如果这段程序能将操作系统内核复制到内存中运行,无论是从本地(比如Flash)还是从远端(比如网络)就称这段程序位Bootloader。 简单地说,Bootloader就是上电时就开始执行,初始化硬件设备为操作系统准备好执行环境,最后调用操作系统内核。 Bootloader还可以具有通过串...
2020-05-24 16:48:30 1385
转载 U-Boot移植教程之二:移植
开发板smdk2410的配置适用于大多数S3C2410单板,或是只需要极少的修改即可使用。但是目前U-Boot中没有对S3C2440的支持,需要我们自己移植。 本书基于的S3C2410、S3C2440两款开发板,它们的外接硬件相同:(1)BANK0外接容量为1MB,位宽为8的NOR Flash芯片AM29LV800(2)BANK3外接10M网卡芯片CS8900,位宽为16(3)BANK6外接两片容量为32MB、位宽为16的SDRAM芯片K4S561632,组成容...
2020-05-24 16:46:25 500
原创 STM32命名,Flash分布,扇区
STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:(1)STM32:STM32代表ARM Cortex-M3内核的32位微控制器。(2)F:F代表芯片子系列。(3)103:103代表增强型系列。(4)R:R这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚。(5)B:B这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flas...
2020-05-23 12:04:15 11641 5
转载 双管LED闪烁电路
上面的两个电路具有对称性,是一个典型的自激多谐振荡电路,两个电容为反馈电容器,两个三极管组成的自激多谐振荡器,在没有外加触发信号时,能自动地、周期性地促使两管轮流导通和截止,所以它也称为无稳态多谐振荡电路。产生连续的矩形波,使两支LED管轮流闪烁。 工作过程:1、当VCC接上瞬间,Q1、Q2的b极要建立0.7V的电压,对于Q2来说回路有两个:VCC-RB2-Q2基极-GND和VCC-RC1-C2-Q2基极-GND。因此给C2充上了左正右负的电。2、由于Q1、...
2020-05-23 11:21:03 1552 1
原创 激光测距芯片VL53L0X的使用与代码
一、介绍1、原理 采用940nm垂直腔面发射激光器(Vertical-Cavity Surface-Emitting Laser,简称VCSEL)发射出激光,激光碰到障碍物后反射回来被VL53L0X接收到,测量激光在空气中的传播时间,进而得到距离。VCSEL相关知识2、参数超小体积:4.4 x 2.4 x 1.0mm最大测距:2m发射的激光对眼镜安全,且完全不可见。工作电压:2.6 to 3.5 V通信方式:IIC,400KHz,设备地址0x52,最低位是读...
2020-05-19 20:04:55 41326 41
原创 AMG8833的使用与stm32驱动代码
一、介绍1、内部框图 可以看到AMG8833的内部有红外点阵测温,并且还带有一个热敏电阻。使用同一个ADC进行采样,然后送给Control。2、器件参数测温点数:64(8x8的矩阵)帧率:10帧每秒或1帧每秒红外测温分辨率:0.25℃热敏电阻测量温度范围:-20℃~80℃热敏电阻分辨率:0.0625℃红外测温的准确度:High gain误差在2.5℃以内;Low gain误差在3℃以内。3、点阵的排布顺序是:从右到左、从下到上。因此右下角才是第一个点...
2020-05-15 17:28:35 12349 43
原创 NUC972的BSP包的使用
BSP包安装好后内容如下:applications:示例程序以及开源软件,例如busybox, wireless tool…buildroot:可用来编译内核,交叉编译工具,应用程序...等的集合image/kernel:使用默认设置预先编译好的内核image/U-Boot:使用默认设置预先编译好的支持NAND或SPI flash的U-Boot执行档及环境变量env.txt档。...
2020-05-10 13:18:39 1205 1
原创 Makefile的语法
一、介绍1、makefile的条目组成 Linux中使用make命令来编译程序,而make命令所执行的动作依赖于Makefile文件。最简单的Makefile文件如下:hello: hello.c gcc -o hello hello.cclean: rm -f hello再举一个例子:edit : main.o kbd.o gcc -o ...
2020-05-03 22:25:28 4360
原创 安装NUC972的BSP
复制官方提供的nuc970bsp.tar.gz文件到Ubuntu的一个文件夹中,然后在该文件夹中右键打开命令行,执行:tar zxvf nuc970bsp.tar.gz 解压该BSP压缩包,然后进入该压缩包,获取管理员权限后,执行:./install.sh提示:Please install git to proceed !!要求按照git。...
2020-05-01 23:38:25 802
6mm透明亚克力.dwg
2019-12-09
GNSS坐标转换小工具和代码.zip
2021-06-05
红外热成像测温论文资料
2021-01-03
Nuvoton_8051_Keil_uVision_Driver_v2.00.6561.zip
2020-09-26
GRBL_Control.rar
2020-05-29
VL53L0X.rar
2020-05-20
Obsidian2.xml
2020-01-22
STM32H753xx_User_Manual.chm
2019-12-03
SPWM_simulink.slx
2019-08-13
svpwm_simulink.slx
2019-08-10
GT911、GT928、GT9147的驱动程序
2019-07-01
CMSIS.rar,解决缺少core_cmFunc.h和core_cmInstr.h
2019-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人