自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MCU内存管理(碎片整理的可行性)

MCU内存管理的一个想法(碎片整理的可行性)前几天捣鼓了下MCU的内存管理,自己用链表实现了一个。相同思路的程序网上一抓一大把。但是找了一大圈发现都没有一个能实现碎片整理。尽管MCU上内存管理就不常用,还用到碎片整理的基本没有。但是用不用是一码事,能不能是另一码事。这篇文章只是我的一些想法和思路,并未实践过,不保证实际可行性。要能实现碎片回收要做到两件事。1:空闲内存的查找,内存数据的移动。2:内存移动后,原来的应用程序还能定位到它。其中第1点原本的内存管理方法都能实现。第2点是关键。正常的mo

2021-04-19 23:52:44 483

原创 单片机简单内存管理

前言老生常谈的问题。单片机那么点RAM用得着内存管理吗?我可以回答,99%的情况都用不到,但是有些技术就是为了那1%存在的。实现内存管理的原理一个100间房的宾馆年接客30000人。实现的原理就是内存管理的原理。3万个客人不会同时订房,同样应用程序一般也不会同时使用内存。客人退房后打扫干净住下一个客人,同样一个程序使用完一段内存,回收再分配给另一个程序。宾馆要给客人开房,就要知道那间房空着,同要分配内存就要知道哪个内存还没被使用。开好房后要把钥匙给客人,同理分配好内存要把内存的地址告诉应用程序。基

2021-04-16 23:15:44 3482 2

原创 嵌入式linux驱动学习笔记04

Pinctrl子系统和GPIO子系统回顾今天还是继续电灯,做一名合格的一灯大师。笔记03中,我用从设备树里获得了led灯对应的引脚的寄存器物理地址进行IO初始化。但这只是把物理寄存器的定义从驱动源码中移到了设备树里,驱动还是要自己实现IO的配置,我还是要熟悉芯片的IO相关的各个寄存器每个位的功能,这任然是一部分工作量,毕竟密密麻麻的寄存器文档可不是谁都喜欢看。因此linux内核加入pinctrl子系统,让内核替我们完成一部分“无聊”的工作。pinctrl子系统SOC基本上都有几十上百个pin(引脚

2021-04-07 00:26:57 191

原创 嵌入式linux驱动学习笔记03

基于设备树的led驱动编写回顾笔记01中我用传统的驱动编写方式完成了简单的led驱动。其中对led的IO初始化直接在源码中定义了寄存器物理地址。/*存器物理地址*/#define CCM_CCGR1_BASE (0x020C406C)#define SW_MUX_GPIO1_IO03_BASE (0x020E0068)#define SW_PAD_GPIO1_IO03_BASE (0x020E02F4)#define GPIO1_DR_BASE (0x0209C000)#define GPI

2021-04-04 23:03:30 156 2

原创 嵌入式linux驱动学习笔记02

led驱动测试程序编写1.准备工作1.编译好chardevled.ko文件2.挂载好led驱动,/dev目录下生成led节点。2.测试程序编写ledtest.c#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include &l

2021-04-04 17:06:03 81

原创 嵌入式linux驱动学习笔记01

字符设备驱动(LED驱动)编写1.准备工作1.编译好uboot.bin(支持tftp、nfs),并且烧入开发板2.准备好linux内核源码、zImage系统镜像和设备树文件board.dtb3.linux主机配置好tftp、nfs。4.zImage和board.dtb放入tftp共享文件夹 用BusyBox编译好根文件系统并复制到nfs共享文件夹。2.uboot配置用串口终端连接开发板,开发板上电打印uboot信息后按下enter停留在uboot。设置环境变量。设置 bootcmd环境变量:

2021-04-04 16:44:08 174

原创 linux下tftp和nfs服务器搭建(基于deepin系统)用于嵌入式开发调试

linux下tftp和nfs服务器搭建(基于deepin系统)用于嵌入式开发调试安装 tftp//安装 tftp-hpa 和 tftpd-hpasudo apt-get install tftp-hpa tftpd-hpa//安装xinetd守护进程,用于开机启动tftpsudo apt-get install xinetd创建tftp共享文件夹//创建文件夹mkdir /home/mypc/share/tftpdir//设置权限chmod 777 /home/mypc/share/t

2021-04-02 23:40:57 339

空空如也

空空如也

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

TA关注的人

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