[置顶] 关于堆栈的讲解(一)

摘要: 1、 堆和栈基本概念: (来自网上)简单的来讲堆(heap)上分配的内存,系统不释放,而且是动态分配的。栈(stack)上分配的内存系统会自动释放,它是静态分配的。栈的分配是从内存的高地址向低地址分配的,而堆则相反(好像这里说错了,堆本来就是 链式存储,哪里来的高到低,低到高)。12:33:14 对... 阅读全文

posted @ 2015-10-17 11:23 无悔这一生。 阅读(493) 评论(0) 推荐(0) 编辑

2016年1月2日

(三) UART 串口通讯

摘要: UART : university asynchronous receiver and transmitter UART // 通用异步接收器和发送器为什么要有串口:因为许多嵌入式设备没有显示屏,无法获得设备的实事数据信息,所以可以通过 UART 串口和超级终端相连,打印嵌入式设备输出信息。也可以通... 阅读全文

posted @ 2016-01-02 20:37 无悔这一生。 阅读(640) 评论(0) 推荐(0) 编辑

(三)内存 SDRAM 驱动实验 (杨铸 130 页)(勉强能懂个大概)

摘要: SDRAM 芯片讲解:地址: 行地址 (A0-A12) 列地址 (A0-A8) 片选信号(BA0 BA1)(L-BANK)(因为SDRAM有 4片)两片SDRAM 连线唯一区别在 UDQM LDQMDQM0 ---片1 LDQMDQM1----片1 UDQMDQM2----片2 LDQMDQM3-... 阅读全文

posted @ 2016-01-02 12:14 无悔这一生。 阅读(637) 评论(0) 推荐(0) 编辑

2016年1月1日

(二)ADS1.2的安装教程以及使用 调试 (不会 AXD 调试工具)

摘要: 安装教程: 参考百度http://jingyan.baidu.com/article/cdddd41c7db85253cb00e1ae.html具体使用看: 杨铸的那本书(嵌入式底层软件驱动开发) 过一遍!!!!步骤如下:1、建立工程2、编辑代码(来自盘 F:\ARM+LINUX\深入浅出底层嵌入式... 阅读全文

posted @ 2016-01-01 11:47 无悔这一生。 阅读(1982) 评论(0) 推荐(0) 编辑

2015年12月30日

(二)启动代码分析 02

摘要: 首先从开发板硬件讲起:思考问题: 开发板上电后,程序是如何启动呢???这里分 nor flash 启动 和 nand flash 启动讲解 :nand flash 启动:_________________________________________________________________... 阅读全文

posted @ 2015-12-30 17:22 无悔这一生。 阅读(547) 评论(0) 推荐(0) 编辑

(二)启动代码分析 01

摘要: 发现问题:前面我们编写 LED 流水灯 裸机驱动,需要添加了 启动代码 (杨铸 startup.s) ,也就是初始化把 开发板带到 C 语言环境(也就是 xmain 函数) 1 ; 2 ; MDK跑马灯实验 3 ; 4 PRESERVE8 5 AREA RESET, COD... 阅读全文

posted @ 2015-12-30 16:03 无悔这一生。 阅读(1236) 评论(0) 推荐(0) 编辑

(一)GPIO 编程实验 LED 流水灯控制

摘要: 7个寄存器 是R1-R16.(当然,里面有很多是分几个模式的,所以总共有37个)类似于单片机的R0-R7.GPXCON,GPXDAT等等是另外的寄存器,应该叫,特殊功能寄存器,类似于单片机的P0,P1,TCON,等等。GPXCON:是X管脚的控制寄存器,控制它们的模式,比如输出模式,输入模式……GP... 阅读全文

posted @ 2015-12-30 14:12 无悔这一生。 阅读(9702) 评论(0) 推荐(0) 编辑

(一)Nand FLASH 原理讲解

摘要: NAND FLASH 优势 : 可以用当硬盘 这里好像型号是 K9F2G08基本结构:不是很难自己看看,暂时不要看 阅读全文

posted @ 2015-12-30 11:50 无悔这一生。 阅读(439) 评论(0) 推荐(0) 编辑

(一)NOR FALSH 讲解

摘要: nor flash 起始地址:1F FFFF = 1 1111 1111 1111 1111 1111 = 2^20 *2 = 2^21=2M Nor Flash 采用了 A0-A21 总共 22 条地址总线和 16 条数据总线与 CPU 连接,请注意地址是从 A1 开始的,这意味着它每次最... 阅读全文

posted @ 2015-12-30 11:01 无悔这一生。 阅读(836) 评论(0) 推荐(0) 编辑

(一)s3c2440 地址分配讲解 (很难很纠结)

摘要: mini2440的地址怎么分配。mini2440处理器的地址怎么分配。S3C2440处理器可以使用的物理地址空间可以达到4GB,其中前1GB的地址(也就是0x0000 0000--0x4000 0000)为外设地址空间,外设地址究竟怎么确定的呢??好烦??还有一部分为CPU内部使用的特殊功能寄存器地... 阅读全文

posted @ 2015-12-30 10:36 无悔这一生。 阅读(4191) 评论(0) 推荐(0) 编辑

(一)keil4 MDK 开发环境下编写裸机程序 (参考杨铸 北航) (开发板只需要连接JLNK 就行了)

摘要: 首先用的是 keil4 位与 (F:\ARM+LINUX\MDK-ARM_v4.10.exe )1、 新建工程名project 为 led circle ,放在 我的文档\ ledcircle 文件夹下面选择目标板为 s3c2440 , 不添加 初始化启动代码 ,选否2、编写代码(这里直接用的... 阅读全文

posted @ 2015-12-30 10:01 无悔这一生。 阅读(714) 评论(0) 推荐(0) 编辑

2015年12月27日

(九)方式一 单工串行通信 (未能解决)已解决,但不会调试

摘要: 工作方式一讲解:(1)特点1.8位UART接口。2.帧结构为10位,包括起始位(为0),8位数据位,1位停止位。3.波特率由指令设定,由T1的溢出率决定。(2)发送操作当执行一条“MOV SBUF,A”指令时,启动发送操作,A中的数据从TXD端实现异步发送。发送完一帧数据后自动置TI=1,请求中断。... 阅读全文

posted @ 2015-12-27 16:12 无悔这一生。 阅读(543) 评论(0) 推荐(0) 编辑

(九)串行口方式0 拓展并行输入端口 74LS165 芯片

摘要: 74LS165芯片讲解:外接一个同步移位寄存器 74LS165芯片,拓展一个 8 位 并行输入端口的电路, 可将接在74LS165芯片的8个开关 S0——S7 的状态 通过 串行口方式 0 读到 单片机内。SH/LD : (一) 控制端低电平: 74LS165芯片可以并行输入数据,且串行输入口关闭高... 阅读全文

posted @ 2015-12-27 15:01 无悔这一生。 阅读(2388) 评论(0) 推荐(0) 编辑

(九)串行口方式0 拓展并行输出端口 02 74LS164芯片

摘要: 1、先讲解74LS164 移位芯片:74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定... 阅读全文

posted @ 2015-12-27 11:48 无悔这一生。 阅读(5487) 评论(0) 推荐(0) 编辑

(九)单片机串行口 内部结构的讲解 01

摘要: 1、基本概念常用于数据通信的传输方式有单工、半双工、全双工和多工方式。单工方式:数据仅按一个固定方向传送。因而这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。半双工方式:数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现收/发开关转换。全双工方式:允许双方同时进... 阅读全文

posted @ 2015-12-27 09:48 无悔这一生。 阅读(3619) 评论(0) 推荐(0) 编辑

2015年12月26日

(八)外部中断的设计与应用 02 中断优先级嵌套设计

摘要: 仿真电路图:参考代码: 1 #include 2 #define uchar8 unsigned char 3 #define uint16 unsigned int 4 5 /*****************************/ 6 // 函数名称: DelayMS( ) 7 // 函... 阅读全文

posted @ 2015-12-26 18:31 无悔这一生。 阅读(789) 评论(0) 推荐(0) 编辑

(八)中断的设计与应用 01 单一外部中断

摘要: 1、一 、单一外部中断应用案例参考代码外部中断0 代码: 1 #include 2 #define uchar8 unsigned char 3 #define uint16 unsigned int 4 5 /*****************************/ 6 // 函数名称: ... 阅读全文

posted @ 2015-12-26 17:51 无悔这一生。 阅读(1023) 评论(0) 推荐(0) 编辑

(八)外部中断的设计与应用

摘要: 52单片机:中断源:INTO0--外部中断0,由P3.2端口线引入,低电平或下降沿引起。INTO1--外部中断1,有P3.3端口线引入,低电平或下降沿引起。T0--定时器/计数器0中断,由T0计数器计满回零引起。T1--定时器/计数器1中断,由T1计数器计满回零引起。T2--定时器/计数器2中断,由... 阅读全文

posted @ 2015-12-26 17:14 无悔这一生。 阅读(1097) 评论(0) 推荐(0) 编辑

(七)单片机控制两路数据采集系统 这里要学习中断

摘要: 自己修改电路图和代码,结果调试不成功?不知道为什么????电路图如下: 127 247 移动滑动变阻器没有软用???错误代码: 1 #include 2 #define uchar8 unsigned char 3 #define uint16 unsigned int 4 sbit ... 阅读全文

posted @ 2015-12-26 12:07 无悔这一生。 阅读(964) 评论(0) 推荐(0) 编辑

2015年12月25日

(七)DAC0832 数模转换芯片的应用 以及运算放大器的学习 01

摘要: DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。单极性输出:由运算放大器进行电流→电压转换,使用内部反馈电... 阅读全文

posted @ 2015-12-25 17:18 无悔这一生。 阅读(9754) 评论(0) 推荐(0) 编辑

2015年12月23日

(二)重拾单片机 第一天 LED灯

摘要: 由图知道 低电平 亮,高电平 灭控制第一个 LED1 亮灭程序代码,如下#include#define uchar8 unsigned char #define uint16 unsigned int sbit LED1=P1^0;/****************************... 阅读全文

posted @ 2015-12-23 22:56 无悔这一生。 阅读(303) 评论(0) 推荐(0) 编辑

(五)数码管仿真 02

摘要: 电路图:注意 为了省事 把 数码管串联的电阻省去了参考代码: 这里 检测按键并不好,抄的另外一篇日志,具体还要看书#include#include#define uchar8 unsigned char #define uint16 unsigned int sbit key1=P2^0;sbit... 阅读全文

posted @ 2015-12-23 21:10 无悔这一生。 阅读(369) 评论(0) 推荐(0) 编辑

(五)数码管的仿真 01

摘要: 要点:1、 认识 共阴和 共阳2、共阴极数码管0-9 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F 共阳极数码管0-9 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80,... 阅读全文

posted @ 2015-12-23 21:06 无悔这一生。 阅读(1780) 评论(0) 推荐(0) 编辑

(四)开关控制的 跑马灯 以及流水灯 电路图以及程序

摘要: 电路图:目的:K1 开始跑马灯 左->右K2 停止K3 跑马灯 右-> 左K4 流水灯参考程序:#include#include#define uchar8 unsigned char #define uint16 unsigned int #define LED P1 sbit k... 阅读全文

posted @ 2015-12-23 17:11 无悔这一生。 阅读(4762) 评论(0) 推荐(0) 编辑

(三)开关检测来控制LED灯的亮灭

摘要: 开关检测案例一:具体电路图如下: K1--K4闭合,控制 D1—D4 亮灭产生的问题: 1、关于 R8 R9 R7 R10 的阻值选择问题,倘若太大的话, 比如10K 不管开关断开还是闭合,好像都没什么用,电阻上部分电流被拉低,一直为低电平,虽然仿真对,但终究有问题倘若选择一般大,则为灰色,表示电平... 阅读全文

posted @ 2015-12-23 15:52 无悔这一生。 阅读(1243) 评论(0) 推荐(0) 编辑

2015年10月21日

start.s 解析(一)

摘要: 注意: ———————————————————————————————————————————————————————————————————————————— @ARM体系结构规定在上电复位后的起始位置,必须有8条连续的跳 @转指令,通过硬件实现。他们就是异常向量表。 也就是 _rWTCON: . 阅读全文

posted @ 2015-10-21 13:39 无悔这一生。 阅读(4574) 评论(0) 推荐(0) 编辑

uboot.lds (一)

摘要: lds文件与scatter文件相似都是决定一个可执行程序的各个段的存储位置,以及入口地址,这也是链接定位的作用。U-boot的lds文件说明如下: SECTIONS{ ... secname start BLOCK(align)(NOLOAD):AT(ldadr) {contents}>region... 阅读全文

posted @ 2015-10-21 10:39 无悔这一生。 阅读(923) 评论(0) 推荐(0) 编辑

2015年10月20日

linux代码段,数据段,BSS段, 堆,栈(二)

摘要: //main.cppinta=0;全局初始化区 char*p1;全局未初始化区main(){intb;栈chars[]="abc";栈char*p2;栈char*p3="123456";123456/0在常量区,p3在栈上,可否看成是一种映射。staticintc=0;全局(静态)初始化区p1=(c... 阅读全文

posted @ 2015-10-20 13:12 无悔这一生。 阅读(1409) 评论(0) 推荐(1) 编辑

2015年10月19日

好的博客地址

摘要: http://blog.csdn.net/mybelief321/article/details/8910528 (关于 mini2440 在 MDK 下面的实验,写的非常好啊) 阅读全文

posted @ 2015-10-19 11:03 无悔这一生。 阅读(185) 评论(0) 推荐(0) 编辑

外部按键 控制 LED 中断 (参考 http://www.oschina.net/question/565065_115196?sort=time )

摘要: 转帖:http://www.oschina.net/question/565065_115196?sort=time实验目的:mini2440开发板上有6个按键,将其中的前4个按键设为外部中断方式,当按下K1时,LED1亮;当按下K2时,LED2亮;当按下K3时,LED3亮;当按下K4时,LED4亮... 阅读全文

posted @ 2015-10-19 10:37 无悔这一生。 阅读(744) 评论(0) 推荐(0) 编辑

2015年10月18日

关于LED 流水灯的软件调试方法(非开发板调试)

摘要: 因为: 硬件 norflash 有寿命,所以尽量少用,而且自己也不会把 程序在 KEIL中从SDRAM 中调试,不会设置。所以采取软件虚拟的方法调试。主要修改一下几部分:1. ledcircle.sct 文件 1 ; *****************************************... 阅读全文

posted @ 2015-10-18 17:48 无悔这一生。 阅读(727) 评论(0) 推荐(0) 编辑

导航