自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (7)
  • 收藏
  • 关注

原创 (Linux内核)3-内核移植

LINUX的内核移植主要是参考的官方的EVK开发板编译官方linux首先建立VSCODE工程,复制.vscode/settings.json到工程。建立编译脚本imx6ull_14×14_evk.sh#!/bin/shmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distcleanmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_mfg_defconfigmake ARC

2020-05-17 22:08:29 392

原创 (Linux内核) 2-内核启动

Linux启动第一阶段image和zImage是经过压缩的,Linux内核会先进行解压缩,解压缩完成以后就要运行Linux内核。要求: 1、MMU关闭 2、D cache关闭 3、I cache无所谓 4、r0 = 0。 5、r1 = machine nr 6、r2=atags 或设备树以上要求完成后,进入stext入口函数,完成的以下工作: __vet_atags 函数验证at...

2020-05-11 22:22:35 271

原创 (Linux内核) 1-顶层Makefile

Linux内核顶层Makefile与U-boot的十分相似。以下与Uboot一致:1.版本号2.MAKEFLAGS变量3.命令输出4.静默输出5.设置编译结果输出目录6.代码检查7.模块编译8.设置目标架构和交叉编译器9.调用 scripts/Kbuild.include 文件10.交叉编译工具变量设置11.头文件路径变量12.导出变量下面详细描...

2020-05-11 20:26:21 380

原创 内存的介绍(RAM,ROM,SRAM,DDR)

资料来源:正点原子嵌入式linux目录何为 RAM 和 ROM?SRAMSDRAMDDR何为 RAM 和 ROM?RAM: 随机存储器,可以随时进行读写操作,速度很快,掉电以后数据会丢失。比如内存条、 SRAM、 SDRAM、 DDR 等都是RAM。ROM: 只读存储器。目前只读这个概念不准确,包括FLASH,SD卡,EMMC等,虽然属于ROM,但是也可以读写。...

2020-04-29 17:19:57 9563

原创 (系统移植)5 U-boot移植

资料来源正点原子嵌入式LINUX目录驱动修改步骤添加开发板默认配置文件添加开发板对应头文件添加开发板对应的板级文件夹修改U-boot图形配置文件添加脚本编译U-bootLCD 驱动修改网络驱动修改bootcmd 和 bootargs 环境变量bootcmdbootargs实际使用中,移植的都是参考NXP官方开发板的U-boot进行移植。直接编...

2020-04-28 20:04:53 518

原创 (系统移植)4 U-boot启动流程

u-boot.lds中给出了U-boot的总结架构。OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")OUTPUT_ARCH(arm)ENTRY(_start)SECTIONS{ . = 0x00000000; . = ALIGN(4); .text : { *(.__image_c...

2020-03-01 15:40:30 453

原创 (系统移植)3 U-boot顶层Makefile

资料来源:正点原子嵌入式linux版本号VERSION = 2016PATCHLEVEL = 03SUBLEVEL =EXTRAVERSION =NAME =MAKEFLAGS变量MAKEFLAGS如果不做unexport声明,默认传给子make命令输出 Vifeq ("$(origin V)", "command line") #origin用于返回V的来源,...

2020-02-17 14:59:11 523

原创 (系统移植)2 U-boot常用命令

资料来自:正点原子嵌入式开发linux目录信息查询命令bdinfo:查看板子信息printenv:查看环境变量version:查看Uboot版本号环境变量操作命令setenv:设置环境变量值setenv:新建环境变量setenv:删除环境变量saveenv:保存设置内存操作命令md:显示内存值nm:修改指定地址的内存值,不可递增mm:修改指定...

2019-12-25 22:32:29 495

原创 (系统移植) 1-官方Uboot编译

资料来源:正点原子嵌入式Linux开发板烧写:工具:mfgtooluboot文件:Mfgtool2-eMMC-ddr512-eMMC何为Uboot?uboot就是一个bootloader,作用就是用于启动Linux或其他系统。Uboot最主要的工作就是初始化DDR。因为Linux是运行在DDR里面的。一般Linux镜像zImage(uImage)+设备树(.dtb)存放在...

2019-12-24 21:24:23 350

原创 (嵌入式Linux 9 )NAND

NAND操作原理硬件连接NAND与2440电路连接图1.NAND FLASH和S3C2440之间只有数据线,在DATA0~DATA7上既传输数据,又传输地址,当ALE为高电平时传输的是地址。2.在DATA0~DATA7上既传输数据,又传输地址,也传输命令 当ALE为高电平时传输的是地址, 当CLE为高电平时传输的是命令 当ALE和CLE都为低电平时传输的是数据...

2019-12-24 20:59:51 306

原创 (嵌入式Linux 8 )NOR

NorFlash原理及硬件操作资料来自:韦东山嵌入式linuxNorFlash硬件连接图:可以看出数据线有16根,则位宽16位,地址线ADDR1接A0,ADDR2接A1。根据A0的值判断16位数据高低位UBOOT操作:1.读数据md.b 02.读ID根据手册的读取方法:往地址555H写AAH往地址2AAH写55H往地址555H写90H读0地址得到厂...

2019-11-20 10:40:57 326

原创 (嵌入式Linux 7 )异常与中断

资料来源:韦东山嵌入式linux目录目录CPU模式(Mode)_状态(State)与寄存器操作模式与状态异常未定义模式异常示例示例优化swi软中断外部按键中断配置IO口寄存器配置中断控制器添加中断代码定时器中断定时器内部结构图定时器配置中断优化CPU模式(Mode)_状态(State)与寄存器操作模式与状态ARM共有...

2019-11-06 22:06:19 892

原创 (嵌入式Linux 6 )代码重定位

目录段的概念_重定位的引入2440访问内存有以下几种方式重定位的概念段的概念链接脚本的引入与简单测试变量的重定位实现方法链接脚本的解析脚本的改进代码重定位实现方法C语言实现参考链接:https://blog.csdn.net/Sanjay_Wu/article/details/88723448资料来源:韦东山嵌入式linux段的概念_重定...

2019-10-31 16:14:01 413

原创 (嵌入式Linux 5 )内存控制器与SDRAM

目录ROM与RAM不同位宽设备的连接时序图示例ROM与RAMRAM: :随机存储器,可以随时进行读写操作,速度很快,掉电以后数据会丢失。比如:int a=10;我们需要很方便的对这个变量进行读写操作,方法就是直接“a”进行读写操作,不需要在乎具体的读写过程。ROM: :只读存储器,也可以称作Flash。掉电不丢失,但是读写较为复杂RAM 速度快,可以直接和 C...

2019-10-28 10:39:48 399

原创 LINUX常用命令

目录常用命令相对路径和绝对路径ls:列举文件mkdir:创建目录touch:新建文件mv:修改文件名或者目录名,或者移动路径cp:复制文件或者复制目录cat:查看文件gedit:编辑文件rm(remove的缩写):删除文件(目录)clear:刷新屏幕,保留历史命令操作记录reset:重新初始化屏幕,清除历史命令操作记录man:帮助命令v...

2019-10-25 17:02:57 261

原创 (嵌入式Linux 4 )UART串口

目录资料来自韦东山嵌入式硬件介绍数据包格式波特率计算串口框架S3C2440_UART编程手动实现printf手动实验可变参数字节对齐自动确定可变参数硬件介绍 通用异步收发器简称 UART,全双工方式传输数据,最精简的连线方法只有三根电线:TxD 用于发送数据,RxD 用于接收数据,Gnd 用于给双方提供参考电平。连接方式:1. 2440...

2019-10-25 15:49:25 280

原创 (嵌入式Linux 3 )时钟体系

时钟体系• Fclk Up to 400MHz• Hclk Up to 136MHz• Pclk Up to 68MHz时钟源选择在电路图中,OM引脚都接地,所以时钟源是内部晶振2440时钟结构图:内部晶振通过MPLL,得到FCLK传给CPU。又经过HDIV得到HCLK,PDIC得到PCLK时序图1.芯片复位,复位引脚外界复位芯片,等电源稳定后复位引脚才输出高电平...

2019-10-17 15:05:58 272

原创 (嵌入式Linux 2 )arm-linux-gcc和Makefile

gcc和arm-linux-gcc的常用选项gcc的使用方法:gcc [选项] 文件名gcc常用选项:-v:查看gcc编译器的版本,显示gcc执行时的详细过程-o <file> Place the output into <file> ...

2019-10-17 15:05:45 418

原创 (嵌入式Linux 1 )第一个C程序

资源来自 韦东山嵌入式目录2440框架汇编汇编代码:.s烧写步骤反汇编代码C语言(点亮led)C语言实现ATPCS使用规则反汇编C语言(交替点亮led,并传递参数)C语言实现启动文件start.sC语言(交替点亮led,使用位序操作,自动区分nor和nand启动方式)c语言实现启动文件2440框架启动过程:大多数AR...

2019-10-17 15:05:21 380 1

原创 ARM学习笔记基础STM32

资料来源:正点原子STM32目录GPIO工作原理常用寄存器实验:跑马灯(库函数版本)实验步骤时钟IO引脚的复用和映射串口串行通信方式异步通信特点串口配置方法串口配置步骤(将PA9,PA10设置为串口1)实验:串口通信独立看门狗实验:看门狗窗口看门狗窗口看门狗实验通用定时器实验:定时器中断外部中断外部中断配置步骤...

2019-10-15 15:13:16 1052

原创 模块芯片笔记

目录W25Q1285500网络芯片CH376U盘读取模块芯片温度传感器DS18B20W25Q128W25Q128将16M(16M=16*1024K)的容量分为256个块(Block),每个块大小为64K字节,每个块又分为16个扇区(Sector),每个扇区4K个字节(也就是4*1024=4096个地址)。W25Q128的最小擦除单位为一个扇...

2019-10-15 14:43:57 1039

原创 数据结构(栈)

资料来自大话数据结构#include <stdio.h>#include <string.h>#define MAXSIZE 10#define ERROR 0#define OK 1int data_out[MAXSIZE];typedef int Status;typedef struct Stack{ int data[MAXSIZE]; ...

2019-10-15 11:57:47 104

原创 数据结构(线性表与链表)

资料来自大话数据结构线性表#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXSIZE 20#define ERROR 0#define TRUE 0typedef int ElemType;typedef int Status;typedef stru...

2019-10-15 11:57:04 133

原创 TCP/IP 通信

学习资料来源:正点原子STM32目录TCP/IPTCP连接TCP终止连接MACLAN8720DMALWIP内存分配内存池内存堆数据包管理pbuf介绍数据包申请与释放网络接口管理ARP协议TCP/IPTCP是提供传输的可靠性的,TCP协议通过以下方式提供可靠性:1、应用数据会被分割成TCP认为最适合的发送的数据块,最大...

2019-10-15 11:53:59 1463

原创 STM32CUBE配置问题笔记

printf输出添加代码:/* Private function prototypes -----------------------------------------------*/#ifdef __GNUC__/* With GCC, small printf (option LD Linker->Libraries->Small printfset to 'Y...

2019-10-15 11:42:01 561 1

原创 SPI通信协议

学习资料:正点原子STM32SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线。两根是双工通信线,一根时钟线(同步),一根外设片选线。开发板有三个SPI接口。要发送的数据写到发送数据缓存区,缓存区经过移位寄存器,一位一位的通过MOSI接口移出去,同时MISO接口接收到的数据经过移位寄存器一位一位的移到接收缓存区。SPI接口一般使用4条线通信:M...

2019-10-15 11:38:49 1500

原创 I²C通信协议

学习资料:正点原子STM32它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。半双工通信方式:允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信空闲状态I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉...

2019-10-15 11:33:50 4953 1

原创 嵌入式C语言笔记基础

C语言变量结构体1.结构体进行变量赋值时,数据输入需要使用取地址运算符结构体指针变量,结构体数组#include <stdio.h>struct student{char sname[10];float score[3];float sum;}stu[3];void main(){int i;struct student *p = stu;fo...

2019-10-15 11:25:11 258

原创 CAN通信协议

目录物理层位速率帧种类总线仲裁STM32 CAN控制器简介­bxCAN工作模式发送接收STM32的位时间STM32筛选器学习资料来源:正点原子STM32,野火STM32物理层CAN控制器根据CAN_L和CAN_H上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。如...

2019-10-15 11:18:39 2981

hsadc.c,LPC4370 80MADC

LPC4370具有80M ADC,实现80M采样率,DMA传输。资源也是参照大神的配置修改的,目前可以实现80M ADC采样,但是无法触发DMA中断,各位如果发现了原因,还望赐教

2020-04-21

STM32 F4以太网5500模块代码工程

STM32 F4以太网5500模块代码工程,实测网速7m STM32 F4以太网5500模块代码工程,实测网速7m

2018-09-29

三重ADC采集信号,STM32F407

三重ADC采集信号,STM32F407,采样信号4.5M,按开发文档还可以提高,通过DMA传输数据,配置通过

2018-07-03

STM32F407ADC采集信号通过DMA发送给内存,并且通过串口发出

STM32F407ADC采集信号通过DMA发送给内存,并且通过串口发出,已调试通过

2018-07-03

机器学习吴恩达中文翻译讲义,网上大神翻译的,分享下

吴恩达中文讲义,感谢Freddy Yu 大神翻译,分享给大家一起学习

2017-12-30

空空如也

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

TA关注的人

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