自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入式学习笔记

记录嵌入式Linux、智能硬件知识

  • 博客(19)
  • 收藏
  • 关注

原创 LCD驱动程序

层次分析:

2020-01-14 22:05:51 192

原创 Linux输入子系统

输入子系统的流程以s3c2440的触摸屏为例。入口函数s3c_ts_init()出口函数s3c_ts_exit()

2020-01-09 22:07:00 135

原创 让NanoPi 2 Fire 跑起来——从U-Boot开始

最近在咸鱼淘到一块NanoPi,算上邮费80块,还有必须的CLASS 10 TF卡28块。共108大洋看了友善之臂的维基百科发现看不懂。。。http://wiki.friendlyarm.com/wiki/index.php/NanoPi_2_Fire/zh#.E8.B5.84.E6.BA.90.E7.89.B9.E6.80.A7于是写了这篇文章记录一下。下载U-Boot...

2019-12-31 14:40:24 1535

原创 检测按键的几种方法

1、查询:耗资源,可达99%2、中断:read一直在等待,不会返回3、poll:指定超时时间,例:等待按键5秒,5秒无响应返回错误并往下执行程序。以上3种方法共同特点:都是应用程序主动去read异步通知:由驱动主动通知应用程序同步互斥阻塞:目的:驱动同时只能被一个应用打开,设置一个flag判断是否被打开。但linux程序是多进程的,在设置flag的过程中被打断的话,判...

2019-12-29 18:48:14 5514

原创 Linux shell下进程的命令

# top 查看系统进程信息,相当于windows的任务管理器# ctrl c 结束当前进程# ctrl z 挂起当前进程# jobs -l 查看挂起的任务# fg [任务号] 返回挂起的任务# kill -9 %1 //结束进程1# kill -9 4664 //结束PID为4664的进程#dmsg 查看内核输出信息...

2019-12-20 15:45:28 114

原创 字符设备驱动程序

写一个LED驱动1、写出框架a、file_operation .open = xxx .read = xxx .write = xxxb、入口函数里注册//告诉内核出口函数卸载c、给sys_fs提供更多信息udev机制可以自动创建设备节点驱动程序写好后编译出second_drv.ko文件,然后将second_drv.ko文件拷贝到根文件系...

2019-12-19 22:43:29 266

原创 uboot、内核、根文件系统

u-boot编译1、解压下载U-boot在Linux下解压2、打补丁3、配置make smdk2440_config4、编译make然后再当前目录会生成u-boot.bin根文件系统目的:构建linux下的文件系统安装busybox,构建 /bin, /linuxrc, /sbin/, /usr目录手动创建其余文件夹,并加载根目录文件...

2019-12-15 10:53:55 236

原创 第87讲--CPU模式、状态与寄存器

2019-11-26 21:21:24 309

原创 1期第84讲——代码重定位与位置无关码 总结

本节课程讲要点是将程序从Flash拷贝到SDRAM运行所遇到的问题。以下为链接文件代码://./Sdram.ldsSECTIONS{ . = 0x30000000; . = ALIGN(4); .text : { *(.text) } . = ALIGN(4); .rodata :{ *(.rodata) } . = ALIGN(4); .data :{ *...

2019-11-18 22:36:26 233

原创 重定位的引入

JZ2440包含的内存:SDRAM,SRAM,Nor Flash,NAND Flash当选择NAND启动,并且代码大小超过4KB时,需要把整个程序读出,放到SDRAM。该操作叫作重定位,重新确定程序的地址。程序包含:代码段 text数据段(全局变量) datarodata:const全局变量bss:初值为0,无初值commen:注释...

2019-11-15 22:30:41 147

原创 SDRAM的设置

推荐阅读文章《高手进阶,终极内存技术指南——完整/进阶版》https://wenku.baidu.com/view/acfdfed733d4b14e8524687f.html读取SDRAM的过程CPU发送读内存命令给内存控制器内存控制器进行以下操作:1、发出对应地址的片选信号2、根据类型(SDRAM)拆分地址:a.BANK地址b.行地址c.列地址...

2019-11-14 22:39:15 284

原创 内存时序图分析

内存相关缩写的含义CE# --> Chip Enable,低电平有效 WE# --> Write Enable,低电平有效 OE# --> Output Enable,低电平有效 内存读取时序图中的Toh --> 当Address,CE#和OE#中的一个或多个拉高后,数据的保持时间。大白话就是当发出停止信号时数据只会保持Toh,这里Toh是0ns,所以就是当发...

2019-11-14 08:50:07 1168

原创 S3C2440 不同位宽设备的连接

S3C2440连接不同类型的内存类芯片时,地址脚有些情况是A0连接A0,有些情况是A1连接A0,为什么?在《S3C2440A_UserManual》中有提到内存连接的方法。当2440连接一片8bit内存时,A0接到内存的A0。当2440连接两片8bit内存时,A1接到内存的A0。为什么需要这样连接?(有空补充完整)未接到内存的地址线用于确定数据位置。...

2019-11-12 21:36:12 209 1

原创 使用ST-LINK V2和openocd调试STM32时出现电压过低的问题及解决

转载请贴上原帖地址。最近项目需要用到STM32,使用GCC+openocd的编译环境调试STM32。出现了个很奇怪的现象,单独使用ST-LINK给STM32供电,会出现触发电压过低的错误,且无法连接上STM32。其实问题很简单,ST-LINK带有检测目标板电压的功能,如果检测到目标板电压过低,则会报错。20pinJtag的1、2脚为TVCC,这两个引脚就是负责检测目标板的电压。...

2017-05-01 10:21:00 66

原创 在makefile下,使用-I包含.c文件中include的头文件

这是在STM32F103官方库里的一个工程,我添加了makefile文件和stlib文件夹,文件结构如下:makefile代码:1 edit: main.o2 gcc -o edit main.o3 main.o : main.c4 gcc -c main.c 编译出错,大概意思是找不到main.c中include的stm32f10x.hstm32f10x.h在该目录的...

2017-05-01 10:17:00 37

原创 关于scanf()运行时,出现“已停止工作”的解决方法

把本人遇到的问题和解决方法写出来,希望能帮助到和我一样的初学者。是scanf()函数的变量问题错误scanf("%d",quantity);正确scanf("%d",&quantity);//第二个参数要是变量的指针//---------------------------------------------------------------------------...

2016-09-13 21:03:00 29

原创 关于 FreeRTOS 的 IsTimeOut() 笔记

经多次测试得:

2016-09-13 20:43:00 23

原创 20160904 数据结构与算法总结

总结一下今天学的咚咚抽象数据类型(Abstract Data Type, ADT)ADT 抽象数据类型名DATA 数据元素之间逻辑关系的定义Opration 操作1 初始化条件 操作结果描述 操作2 ... 操作n ...endADT...

2016-09-04 22:52:00 18

原创 关于一个扫描Gpio的程序改善

//以一个耳机的插入拔出检测做例子IsLineOutLink()函数实际是检测一个Gpio,当耳机插入即把Gpio拉低,IsLineOutLink()返回1。这种扫描方式的坏处:有耳机插入或无耳机插入,都要进入代码块执行里面的代码,浪费MCU资源。改善:添加一个Flag定义Flag为TRUE(一般TRUE被定义为1,FALSE为0),当无耳机插入,IsLineOutLink()返回...

2016-09-01 13:47:00 21

空空如也

空空如也

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

TA关注的人

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