5 qlexcel

尚未进行身份认证

出来混口饭吃。

等级
TA的排名 947

Linux内核移植之四:内核启动过程

内容来自 韦东山《嵌入式Linux应用开发完全手册》 与移植U-Boot的过程相似,在移植Linux之前,先了解它的启动过程。Linux的启动过程可以分为两部分:架构/开发板相关的引导过程、后续的通用启动过程。如图16.7所示是ARM架构处理器上Linux内核vmlinux的启动过程。之所以强调是vmlinux,是因为其他格式的内核在进行与vmlinux相同的流程之前会有一些独特的操作。比如对于压缩格式的内核zlmage,它首先进行自解压得到vmlinux,然后执行vmlinux开...

2020-05-26 18:00:35

Linux内核移植之三:内核配置选项

内容来自 韦东山《嵌入式Linux应用开发完全手册》 Linux内核配置选项多达上千个,一个个地进行选择既耗费时间,对开发人员的要求也比较高(需要了解每个配置选项的作用)。一般的做法是在某个默认配置文件的基础上进行修改,比如我们可以先加载配置文件arch/arm/configs/s3c2410_defconfig,再增加、去除某些配置选项。 下面分3部分介绍内核配置选项,先从整体介绍主菜单的类别,然后分别介绍和移植系统关系比较密切的“System Type”、“...

2020-05-26 17:59:41

Linux内核移植之二:Kconfig分析

内容来自 韦东山《嵌入式Linux应用开发完全手册》 在内核日录下执行“make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-”时,就会看到一个如图16.3所示的菜单,这就是内核的配置界面。通过配置界面,可以选择芯片类型、选择需要支持的文件系统,去除不需要的选项等,这就称为“配置内核”。注意,也有其他形式的配置界面,比如“make config”命令启动字符配置界面,对于每个选项都会依次出现一行提示信息,逐个回答;“make xconfig...

2020-05-26 17:59:10

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

U-Boot移植教程之一:U-Boot分析与启动过程

一、Bootloader的引出 当系统上电时,并不是直接进入Linux系统的,而是需要先执行一段程序来把单片机的硬件外围初始化好,比如:看门狗、单片机时钟、存储控制器等。如果这段程序能将操作系统内核复制到内存中运行,无论是从本地(比如Flash)还是从远端(比如网络)就称这段程序位Bootloader。 简单地说,Bootloader就是上电时就开始执行,初始化硬件设备为操作系统准备好执行环境,最后调用操作系统内核。 Bootloader还可以具有通过串...

2020-05-24 16:48:30

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

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

双管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

激光测距芯片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-17 23:13:39

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 16:39:42

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

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

安装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

嵌入式Linux教程一:安装Ubuntu并进行基本配置、交叉编译环境和Minicom

一、安装VMware和Ubuntu 从网上搜索VMware,下载后安装即可。Ubuntu可以在官网去下载,地址:https://ubuntu.com/download,点击桌面版本,进去后下载最新版本即可。写此文时,最新版本为18.04。下载完成后得到ISO文件。接下来打开VMware,点击新建虚拟机,选择“典型”,下一步。选择刚才下载的iso文件:...

2020-04-28 23:42:44

安卓蓝牙调试软件和微信小程序搜索不到设备

现象:手机是安卓10,打开蓝牙后,在系统的搜索栏里面可以看到搜索到了很多蓝牙设备。可是打开下载的“蓝牙串口”APP和“蓝牙调试器”APP都搜索不到设备,使用微信小程序也搜索不到。解决:把手机的定位功能打开就解决了。...

2020-04-26 17:28:21

常见接插件的介绍与参数

一、脚间距1.5mm1、ZH1.5二、脚间距2mm1、PH2.0三、脚间距2.54mm1、XH2.542、2.54mm间距杜邦头四、脚间距3.5mm1、KF2EDG 3.5MM插拔式接线端子(弯直针)五、脚间距3.81mm1、KF2EDG 3.81MM插拔式接线端子(弯直针)...

2020-04-22 22:14:37

LDC1314和LDC1312的使用

一、检测原理 LDC1314的每个测量通道会连接一个LC谐振器,然后LDC1314驱动谐振器产生震荡,在LC谐振器的电感中会通过交流电,进而会产生电磁场。往这个电磁场中放入导体,导体表面会感应出涡流,涡流的大小与导体的大小、构成、与电磁场的距离有关。导体中的涡流也是交流,进而会产生它自己的磁场,并且与LC谐振器的电感产生的磁场相反,进而影响LC谐振器的震荡频率。LDC1314会不...

2020-04-16 10:33:06

MOS管开关时的米勒效应

一、MOSFET的开通过程 MOSFET的栅极驱动过程,可以简单的理解为驱动源对MOSFET的输入电容(主要是栅源极电容Cgs)的充放电过程,当给栅极施加驱动电压后,MOSFET开通过程会分为4个阶段,其中Vgs、Ig、Vds、Id之间的关系如下图: t0-t1:Vgs快速上升,Ig逐渐降低。因为Vgs还没上升到MOSFET的开通电压,因此Id一直为0。...

2020-04-11 16:46:17

NCP1271的使用

一、介绍 NCP1271是开关频率固定的反激式开关电源芯片,又分为NCP1271A和NCP1271B,他们仅有开关频率不同。NCP1271A为65KHz,NCP1271B为100KHz。有两种封装:二、整体框图如下,接下来根据框图来介绍NCP1271的功能三、NCP1271的5种工作模式:1、正常模式:当VCC电压高于9.1V,且VFB小于3V,NCP1271...

2020-04-08 13:28:11

TMC5160和TMC2160的使用

一、介绍 TMC5160和TMC2160可以PIN对PIN替换,TMC5160自己带有梯形曲线加速功能,这是它与TMC2160唯一的区别。因此下面都以TMC5160来做介绍。 TMC把自己的功能分为下面几个独立的模块:stealthChop2:使用电压PWM斩波,电机绝对无噪声,但只能用于电机低速状态。spreadCycle:使用传统的恒流斩波,斩波周期...

2020-03-15 19:26:24

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取