
mini2440
学习mini2440,包括裸机程序,到系统移植(uboot 内核 文件系统)一些项目。
wahahaguolinaiyou
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
十一:mini2440上面使用SPI控制器实现OLED显示
此次的SPI协议是基于mini2440开发板上SPI控制器,比较上一篇的区别就是使用了控制器,OLED的复位脚一定也要接在2440的复位脚上面,而不用定义一个复位脚给高低电平。上一篇文章已经介绍了OLED的一些数据信息,和SPI协议的分析。这里的区别就是控制器的使用,2440上面的SPI控制器也给出了很详细的使用说明。我们要做的事情如下所示:1. 第一步修改GPIO的设置,上一章节是GPIO...原创 2019-11-27 15:19:17 · 424 阅读 · 0 评论 -
十:mini2440使用GPIO模拟SPI总线协议实现OLED的显示
此次的SPI协议是基于mini2440开发板上的GPIO,并未使用SPI控制器,所以跟单片机一致,但是这里有个问题就是OLED的复位脚一定要接在2440的复位脚上面,而不用定义一个复位脚给高低电平。1. 介绍一下SPI协议的OLED。市面上的开发板很少接有SPI设备,但是SPI协议在工作中经常用到。我们开发了SPI模块,上面有SPI Flash和SPI OLED。OLED就是一块显示器。此次...原创 2019-11-26 13:26:14 · 608 阅读 · 0 评论 -
九.mini2440实现I2C协议裸机程序(完成)
**I2C协议的mini2440裸机程序实现**上篇博客说道了I2C的理论知识,但是实际应用的时候,遇到很多的问题,加上程序的庞大,一直在调试。这几天重新看了一下,最终解决问题。首先的问题是程序超过4K之后一直卡住不运行,我之前的猜想是程序既然大于4K不能运行,那么为了能调试,先把其他的实验的代码进行裁剪,能不能满足要求,但是发现光是I2C的代码已经超过4K,所以一定是不行的;接着为什么...原创 2019-11-13 21:58:14 · 352 阅读 · 0 评论 -
八:mini2440挂载initramfs文件系统mount网络文件系统
参考链接:https://blog.youkuaiyun.com/David_xtd/article/details/25275251这几天在移植Linux系统,挂接文件系统时选了initramfs,但是这个文件系统的缺点就是掉电后的数据不会保存,所以尝试着在该根文件系统上面用mount命令,挂载别的文件系统。尝试NFS文件系统。1.在虚拟机上面搭建NFS服务器。首先在Ubuntu下面,搭建nfs服务器...原创 2019-07-24 11:18:00 · 435 阅读 · 0 评论 -
七:mini2440实现I2C裸机程序
文章链接:https://blog.youkuaiyun.com/thisway_diy/article/details/79398696我们可以很清楚的了解到I2C的时序,利用I2C设备控制器,大大减轻了GPIO引脚模拟I2C的SCLK和SDAT的复杂性,我们直接往控制器里面写入地址,数据;从控制器里面读出数据就可以了,跟着2440的手册看I2C的流程,可以很清晰的理解I2C协议。...转载 2019-10-30 20:42:20 · 202 阅读 · 0 评论 -
六:mini2440实现自己写bootloader
自己实现Uboot启动:前言:想想 uboot 的代码量,我们说自己写一个 bootloader 是不是口出狂言了?然而并没有,bootloader 的唯一目的只有一个,那便是启动内核。内核就是一大段可执行程序,我们只要跳转到它的入口地址去执行不就OK? 所以,写一个简单的 bootloader 并不困难。现在来思考一下,目的是启动内核,那么内核在哪里?刚上电的时候,内核肯定是位于 nand...原创 2019-07-02 18:37:52 · 401 阅读 · 0 评论 -
五.mini2440实现串口打印
001uart硬件知识 通用异步收发打印调试信息,外解各种模块等。使用串口时:1.串口波特率 2.格式:数据位,停止位,校验位和流量控制等。发送一字节数据的流程:1.双方约定好波特率,即每一位占据的时间-设1S。2.原来逻辑电平是高,ARM拉低,保持一个波特率的时间 -1s;3.PC在低电平开始处计时4.ARM根据数据驱动引脚发送数据,一个波特率时间发送一位。5.最后是校验位和...原创 2019-04-12 10:09:58 · 358 阅读 · 0 评论 -
四.mini2440时钟初始化
时钟初始化CPU工作于FCLK,AHB总线工作于HCLK ,APB总线工作于PCLK。不设置时钟就工作在晶振频率12M。设置之后可以工作在400M 使用锁相环来生产时钟,一个MPLL生产时钟给CPU用,一个UPLL生产时钟给USB用。时钟信号来自于12M的晶振或者外部时钟信号。选择器OM决定时钟源。有这三个参数决定主频FCLKHDIVN决定HCLK的值,PDIVN决定PCLK的...原创 2019-04-12 10:03:02 · 285 阅读 · 0 评论 -
三.mini2440按键控制LED
在上一篇LED博客上面进行添加程序。首先看原理图知道KEY的引脚:那么我们知道了按键的引脚,根据上一篇的led的引脚,可以理清楚,按键按下会修改某寄存器的值,CPU检测到按键修改,则输出电平到LED数据寄存器,进而控制LED的亮灭。那么来修改程序。/*LED.c*/#define GPBCON ((volatile unsigned int *)0x56000010)/*led控...原创 2019-04-12 09:55:11 · 593 阅读 · 0 评论 -
二.mini2440点亮流水灯
6.开始写第一个裸机程序—LED程序编写led_on.c程序,还需要编写一段汇编程序start.s来调用C程序。Start.s做了什么工作?设置堆栈,调用C函数并保存返回地址。ldmia ,stmdb批量操作数据。7.C程序内部机制调用者传参给被调用者或者返回参数都是用寄存器r0-r3,用到谁就保存谁.传参直接在汇编中调用函数前面写数据使用volatile拒绝编译器优化这...原创 2019-04-12 09:29:43 · 663 阅读 · 0 评论 -
一.mini2440的课前准备
韦老师视频–嵌入式学习0.首先下载资料,百问官网上去下载。(韦老师的是JZ2440)1.然后买一个烧写器(100块)–EOP-100块,接着安装驱动,插上EOP之后,更新驱动程序,三遍之后可以安装成功。然后安装oflash的烧写程序,openOCD with GUI setup,安装好了在cmd里面运行oflash。如果运行失败,则需要将安装目录添加到环境变量里面去。(Windows的环境...原创 2019-04-11 16:39:34 · 225 阅读 · 0 评论