自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 收藏
  • 关注

原创 imx6ull:kernel(4.1.15版本)总结

Linux内核编译makeimx_v7_defconfigmake menuconfigmakeLinux工程目录分析arch。架构相关目录 block。块设备相关目录 Linux顶层Makefileimx6ull:顶层Makefile分析Linux内核启动流程连接脚本vmlinux.ldslinux的连接脚本为arch/arm/kernel/vmlinux.lds,由arch/arm/kernel/vmlinux.lds.S在make阶段生成..

2021-03-03 15:05:17 472 1

原创 x210:kernel源码中的重要参数及其文件

机器码在arch/arm/tools/mach-types中的部分内容为smdkv210 MACH_SMDKV210 SMDKV210 2456在arch/arm/tools/Makefile中有## linux/arch/arm/tools/Makefile## Copyright (C) 2001 Russell King#include/generated/mach-types.h: $(.

2021-02-26 11:27:29 401

原创 imx6ull:uboot(2016.03版本)总结

bootz启动linux内核images全局变量不管是 bootz 还是 bootm 命令,在启动 Linux 内核的时候都会用到一个重要的全局变量images images 是 bootm_headers_t 类型的全局变量do_bootz函数对应于bootz命令,用于启动zImage镜像文件 调用bootz_start函数 关闭中断 设置 images.os.os 为 IH_OS_LINUX,也就是设置系统镜像为 Linux,表示我们要启动的是 Linux 系统!后面会..

2021-02-01 21:34:34 499

原创 x210:ARM裸机全集

注:本文是对朱老师ARM裸机全集课程的备忘引导性笔记,主要是为了能够在学完后快速回忆起相关内容。本文主要记录了一些关键易忘性知识点并包含少量理解性内容,遵循尽量精简的原则,以尽量少的篇幅概括整个课程的知识点,便于后期能够快速定位知识点。故本文不包含具体的命令及函数使用方法等,同时不要太纠结于字面表达,这些只是为了能够快速回忆起相关知识点,具体的准确描述以及用法等需参考具体的文章。(未完待续)ARM那些你得知道的事儿ARM体系结构与汇编指令S5PV210启动过程概述开发板、..

2020-10-19 11:24:38 1450

原创 linux驱动开发

注:本文是对朱老师linux驱动开发课程的备忘引导性笔记,主要是为了能够在学完后快速回忆起相关内容。本文主要记录了一些关键易忘性知识点并包含少量理解性内容,遵循尽量精简的原则,以尽量少的篇幅概括整个课程的知识点,便于后期能够快速定位知识点。故本文不包含具体的命令及函数使用方法等,同时不要太纠结于字面表达,这些只是为了能够快速回忆起相关知识点,具体的准确描述以及用法等需参考具体的文章。(未完待续)驱动应该怎么学字符设备驱动基础字符设备驱动高级驱动框架入门之LE...

2020-10-12 16:10:34 525

原创 x210:uboot和系统移植

注:本文是对朱老师uboot和系统移植课程的备忘引导性笔记,主要是为了能够在学完后快速回忆起相关内容。本文主要记录了一些关键易忘性知识点并包含少量理解性内容,遵循尽量精简的原则,以尽量少的篇幅概括整个课程的知识点,便于后期能够快速定位知识点。故本文不包含具体的命令及函数使用方法等,同时不要太纠结于字面表达,这些只是为了能够快速回忆起相关知识点,具体的准确描述以及用法等需参考具体的文章。(未完待续)uboot学习前传PC机的启动过程(1)典型的PC机的部署:BIOS程序部署在PC机主板上(随主

2020-10-12 15:54:14 738

原创 linux应用编程和网络编程

注:本文是对朱老师linux应用编程和网络编程课程的备忘引导性笔记,主要是为了能够在学完后快速回忆起相关内容。本文主要记录了一些关键易忘性知识点并包含少量理解性内容,遵循尽量精简的原则,以尽量少的篇幅概括整个课程的知识点,便于后期能够快速定位知识点。故本文不包含具体的命令及函数使用方法等,同时不要太纠结于字面表达,这些只是为了能够快速回忆起相关知识点,具体的准确描述以及用法等需参考具体的文章。(未完待续)文件IOman 1 xx查linux shell命令,man 2 xxx查API, man

2020-09-30 16:44:56 673

原创 Linux的启动过程与系统管理

CentOS 6.x的启动过程和相关配置文件1、BIOS阶段BIOS(Basic Input Output System,基本输入输出系统)。是电脑启动后执行的第一个软件,它固化在计算机主板上的一个ROM(NorFlash,总线式访问,可开机直接启动)芯片上。具体启动过程分析1、BIOS开机自检(POST,Power-on self Test)检测计算机各种硬件信息,如发现错误则进行响应2、初始化硬件,包括DDR、硬盘、键盘以及显示器等3、搜索可引导设备,判断标准就是判断每个可识

2021-04-22 23:32:56 269

原创 imx6ull:rootfs总结

根文件系统首先是内核启动时所 mount(挂载)的第一个文件系统,内核代码映像文件保存在根文件系统中(以ubuntu为例,这里指的应该就是内核根目录下的vmlinuz,它是一个符号链接指向/boot/vmlinuz-x.xx.x-xx-generic),而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。嵌入式 Linux 并没有将内核代码镜像保存在根文件系统中,而是保存到了其他地方。比如 NAND Flash 的指定存储地址、EMMC 专用分区中。我.

2021-03-21 20:20:33 555

原创 基于stm32的嵌入式时间管理系统(半成品)

.ioc#MicroXplorer Configuration settings - do not modifyFile.Version=6IWDG.IPParameters=ReloadIWDG.Reload=1000KeepUserPlacement=falseMcu.Family=STM32F1Mcu.IP0=IWDGMcu.IP1=NVICMcu.IP2=RCCMcu.IP3=RTCMcu.IP4=SYSMcu.IP5=USART1Mcu.IPNb=6Mcu.Name

2021-03-17 09:44:09 589

原创 cc2640学习笔记

文件目录结构cc2650iot1.x 基本入门例程2.x 外设教程3.x RTOS系统例程4.x 协处理器例程5.x 高级例程common 通用文件target 不同的芯片封装和不同开发板之间存在差异的文件说明:RGZ表示7*7封装;RSM表示4*4封装 后缀为RGZ或RSM的文件夹 里面包含了板级差异文件,代表一种板子,开发中需为自己的板子添加改文件夹 ...

2021-03-15 14:22:27 1676

原创 第二家公司测试工装代码

main.h/** ****************************************************************************** * @file : main.h * @brief : Header for main.c file. * This file contains the common defines of the application. *****

2021-03-15 14:17:47 709

原创 stm32f429基于ymodem传输的bootloader

main.c#include "bsp.h" /* 底层硬件驱动 */#include "common.h"#include "flash_if.h"#include "menu.h"/*********************************************************************************************************** 函 数 名: main* 功能说明: c程序入口* 形 参:无* 返 回

2021-03-15 14:02:42 588

原创 bsp_uart_fifo

bsp_uart_fifo.h/************************************************************************************************************ 模块名称 : 串口中断+FIFO驱动模块* 文件名称 : bsp_uart_fifo.h* 说 明 : 头文件***************************************************************

2021-03-15 13:52:48 630

原创 QT平台低功耗蓝牙程序(使用外部库WCH_BLE_DLL)

.pro#-------------------------------------------------## Project created by QtCreator 2020-09-21T11:03:24##-------------------------------------------------QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = untitled..

2021-03-15 13:43:55 1547 2

原创 Qt平台低功耗蓝牙程序(使用Qt自带库)

.pro#-------------------------------------------------## Project created by QtCreator 2020-07-22T11:13:26##-------------------------------------------------QT += core gui serialport printsupport bluetoothgreaterThan(QT_MAJOR_VERSION, 4):..

2021-03-15 13:28:59 3844 12

原创 Qt平台使用fft解析肌电传感器信号

.pro#-------------------------------------------------## Project created by QtCreator 2021-03-09T09:33:42##-------------------------------------------------QT += core gui serialport printsupportgreaterThan(QT_MAJOR_VERSION, 4): QT += wid..

2021-03-15 13:14:41 690

原创 Qt和MDK-ARM平台下的fft

QT平台使用的库:fftw-3.3.5-dll32.pro文件加入如下内容LIBS += -L$$PWD/./ -llibfftw3-3INCLUDEPATH += $$PWD/.DEPENDPATH += $$PWD/.使用#include "fftw3.h"#define N 256fftw_complex *in, *out;//声明复数类型的输入数据in1_c和FFT变换的结果out1_cresolver::resolver(QObject *parent) :

2021-03-15 11:46:44 515

原创 工程常用.gitignore文件和clean.bat文件

QT工程.gitignore/*!*.c!*.h!*.cpp!*.pro!*.uiQT工程clean.batdel /q Makefile* .qmake.stash rd /q /s release debugMDK-ARM工程.gitignore/.gitignore/Drivers/*!/Drivers//MDK-ARM/*!/MDK-ARM/!/MDK-ARM/DebugConfig/!/MDK-ARM/RTE/!/test/ /test/*.

2021-03-15 09:52:45 253

原创 x210:九鼎官方linux+QT版bsp的mk脚本分析

#!/bin/sh## Description : Build Qt Script.# Authors : jianjun jiang - jerryjianjun@gmail.com# Version : 0.01# Notes : None#CPU_NUM=$(cat /proc/cpuinfo |grep processor|wc -l)CPU_NUM=$((CPU_NUM+1))SOURCE_DIR=$(cd `dirname $0` ; pwd)RELEASE_.

2021-03-11 15:53:10 437

原创 NANDFlash组成图

2021-03-04 17:49:17 177 1

原创 imx6ull:Linux内核启动流程分析

/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ld -EL --defsym _kernel_bss_size=463200 -p --no-undefined -X -T arch/arm/boot/compressed/vmlinux.lds arch/arm/boot/compressed/head.o arch/arm/boot/compressed/pig...

2021-03-03 17:55:18 852 1

原创 imx6ull:顶层Makefile分析

Linux 的顶层 Makefile 和 uboot 的顶层 Makefile 非常相似,因为 uboot 参考了 Linux,前 602行几乎一样,所以前面部分我们大致看一下就行了。版本号MAKEFLAGS变量MAKEFLAGS += -rR --include-dir=$(CURDIR)命令输出Linux 编译的时候也可以通过“V=1”来输出完整的命令,这个和 uboot 一样实现源码69 ifeq ("$(origin V)", "command line".

2021-03-03 14:53:56 292

原创 x210:iNand分区情况

2021-03-01 11:23:36 304 2

原创 x210:uboot和系统移植扩展--uboot启动第二阶段

全局指针变量gdDECLARE_GLOBAL_DATA_PTR;#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8") //定义了一个全局变量名字叫gd,这个全局变量是一个指针类型,占4字节。用volatile修饰表示可变的,用register修饰表示这个变量要尽量放到寄存器中,后面的asm("r8")是gcc支持的一种语法,意思就是要把gd放到寄存器r8中。typedef struct g.

2021-02-23 16:40:35 277

原创 x210:uboot和系统移植扩展--uboot启动第一阶段

从u-boot.lds中ENTRY所指定处可以看出,整个uboot程序的起始就是_start处。不简单的头文件包含(1)#include <config.h>。config.h是在include目录下的,这个文件不是源码中本身存在的文件,而是配置过程中自动生成的文件(参考uboot配置和编译过程详解章节,该文件中的内容为#include <configs/x210_sd.h> )。可见start.S中包含的第一个头文件就是:include/configs/x210_s..

2021-02-23 16:25:24 275

原创 x210:uboot和系统移植扩展--shell编程

shell编程(1)可以直接使用linux命令直接执行 反引号括起来执行,得到这个命令的返回值(结果值)(2)变量定义和引用shell是弱类型语言(语言中的变量如果有明确的类型则属于强类型语言;变量没有明确类型就是弱类型语言),和C语言不同。在shell编程中定义变量不需要制定类型,也没有类型这个概念。 变量定义时可以初始化,使用=进行初始化赋值。在shell中赋值的=两边是不能有空格的。shell对语法非常在意,很多地方空格都是必须没有或者必须有。 shell中并不刻意区分变量的定义.

2021-02-23 16:20:47 141

原创 x210:uboot和系统移植扩展--uboot的常用命令和环境变量

uboot的常用命令(1)printenv/print打印出系统中所有的环境变量 例:print(2)setenv/set设置(添加/更改/删除)环境变量 要彻底改变环境变量的值,还需要在执行该命令后执行save命令 例:set name value 添加/更改一个环境变量name,它的值为value 例:set name 删除环境变量name(3)saveenv/save保存所有的环境变量 例...

2021-02-23 16:18:30 213

原创 x210:uboot和系统移植扩展--内核启动之C语言阶段

start_kernel//init/main.casmlinkage void __init start_kernel(void){ char * command_line; extern struct kernel_param __start___param[], __stop___param[]; /* *当只有一个CPU的时候这个函数就什么都不做, *但是如果有多个CPU的时候那么它就 *返回在启动的时候的那个CPU的号 */ .

2021-02-23 16:15:01 208

原创 x210:uboot和系统移植扩展--内核启动之汇编初始化阶段

链接脚本分析kernel的连接脚本并不是直接提供的,而是提供了一个汇编文件vmlinux.lds.S,然后在编译的时候再去编译这个汇编文件得到真正的链接脚本vmlinux.lds。 vmlinux.lds.S在arch/arm/kernel/目录下。 为什么linux kernel不直接提供vmlinux.lds而要提供一个vmlinux.lds.S然后在编译时才去动态生成vmlinux.lds呢?猜测:.lds文件中只能写死,不能用条件编译。但是我们在kernel中链接脚本确实有条件编译的需求(.

2021-02-23 16:14:38 216

原创 x210:uboot和系统移植扩展--内核启动之解压缩阶段

zImage的生成过程依据arch/arm/boot/vmlinux.lds.S生成arch/arm/boot/vmlinux.lds依据arch/arm/boot/compressed/vmlinux.lds.in等生成arch/arm/boot/compressed/vmlinux.lds$(obj)/vmlinux.lds: $(obj)/vmlinux.lds.in arch/arm/boot/Makefile .config @sed "$(SEDFLAGS)" ..

2021-02-20 18:13:49 253

原创 imx6ull:bootcmd和bootargs环境变量

bootcmd 和 bootagrs 是采用类似 shell 脚本语言编写的,里面有很多的变量引用,这些变量其实都是环境变量,有很多是NXP自己定义的。文件mx6ullevk.h中的宏CONFIG_EXTRA_ENV_SETTINGS 保存着这些环境变量的默认值bootcmduboot 倒计时结束以后就会执行 bootcmd 中的命令NXP官方默认值#define CONFIG_BOOTCOMMAND \ "run findfdt;" \ "mmc dev $...

2021-02-19 16:04:30 674

原创 imx6ull:bootz启动linux内核

images全局变量不管是 bootz 还是 bootm 命令,在启动 Linux 内核的时候都会用到一个重要的全局变量images images 是 bootm_headers_t 类型的全局变量 /* * Legacy and FIT format headers used by do_bootm() and do_bootm_<os>() * routines. */typedef struct bootm_headers { /* * Legacy os ima.

2021-02-19 16:01:12 380

原创 imx6ull:uboot链接脚本u-boot.lds详解

如果没有编译过 uboot 的话链接脚本为 arch/arm/cpu/u-boot.lds。但是这个不是最终使用的链接脚本,最终的链接脚本是在这个链接脚本的基础上生成的。编译一下 uboot,编译完成以后就会在 uboot 根目录下生成 u-boot.lds文件1 OUTPUT_FORMAT( ("elf32-littlearm", , "elf32-littlearm", , "elf32-littlearm") )2 OUTPUT_ARCH(arm)3 ENTRY(_start)4 S.

2021-02-19 15:58:38 385

原创 imx6ull:uboot命令使用

uboot 命令中的数字都是十六进制的!不是十进制的!信息查询命令bdinfo、version环境变量操作命令printenv、setenv、saveenv内存操作命令mdnmmmmwcpcmp网络操作命令pingdhcpnfstftpEMMC和 SD 卡操作命令SD 卡(mmc 0)或者 EMMC (mmc 1)的前两个块(扇区),里面保存着分区表I.MX6U-A...

2021-02-19 15:56:51 500

原创 imx6ull:uboot启动流程详解

2021-02-19 15:52:10 360

原创 imx6ull:uboot的make过程分析

make时使用的是默认目标,主Makefile 中的默认目标如下:128 # That's our default target when none is given on the command line129 PHONY := _all130 _all:如果KBUILD_EXTMOD为空的话_all依赖于all。这里不编译模块,所以KBUILD_EXTMOD 肯定为空,目标_all 又依赖于 all:194 # If building an external module we d.

2021-02-18 15:29:35 329

原创 imx6ull:uboot的Makefile.build脚本分析

scripts_basic目标对应的命令scripts_basic 目标对应的命令为:@make -f ./scripts/Makefile.build obj=scripts/basic8 # Modified for U-Boot9 prefix := tpl10 src := $(patsubst $(prefix)/%,%,$(obj))11 ifeq ($(obj),$(src))12 prefix := spl13 src := $(patsubst $(prefix)..

2021-02-18 11:59:03 352

原创 imx6ull:uboot的make xxx_defconfig 过程分析

相关代码414 # To make sure we do not include .config for any of the *configtargets415 # catch them early, and hand them over to scripts/kconfig/Makefile416 # It is allowed to specify more targets when calling make,including417 # mixing *config targets.

2021-02-08 22:59:06 361

原创 imx6ull:uboot根目录config.mk分析

1 #2 # (C) Copyright 2000-20133 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.4 #5 # SPDX-License-Identifier: GPL-2.0+6 #7#########################################################################89 # This file is included from ./Makefi..

2021-02-08 21:19:38 339

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除