2440裸板
kidd_cj
这个作者很懒,什么都没留下…
展开
-
2440 时钟设置
首先需要知道时钟的概念:1、是用来同步系统信号;就举例来说:如果你cpu用i2c传输一个数据给从机设备,那么你传输数据时从设备怎么知道数据有没有到达,多久检测一次数据线??这个就需要时钟同步,起的作用就是我cpu传输一位数据就有一位时钟触发从设备;2、2440soc这么多器件时钟是如何分配??目的:配置cpu时钟为 400M AHB 100M APB 50M2440系统时钟分...原创 2019-10-28 11:19:31 · 390 阅读 · 0 评论 -
对一个位置系统字节序判断的app
写一个程序判断字节序是大端还是小端存储?第一种方法: 1 #include <stdio.h> 2 union uni_test 3 { 4 int a; 5 char c[4]; 6 }; 7 8 9 int main(void) 10 { 11 union uni_test ua ; 12 ua.a=0x1234567...原创 2019-10-23 19:42:11 · 115 阅读 · 4 评论 -
2440 led汇编实现
目标点亮led : GPF4 GPF5/点亮 GPF4 GPF5 led 灯/步骤1、查看原理图 led 对应引脚可以看到nled1 -nled4 的引脚为低电平即可点量led;下面是nled_1引脚接到了2440的gpio引脚上2、查看芯片手册:将GPF4 GPF5 配置为输出方式;将GPF4 GPF5输出的电平设置为0,点亮led;1、配置为输入输出方式GPFCO...原创 2019-10-23 19:20:59 · 305 阅读 · 0 评论 -
U-BOOT-1.1.6分析三 ---- main_loop
start_armboot最后进入死循环调用了main_loop 函数;uboot的目的是启动内核,那么main_loop一定会有设置启动参数和启动内核的实现;main_loop分析:原创 2020-10-22 21:30:17 · 321 阅读 · 0 评论 -
U-BOOT-1.1.16分析二 ---- start_armboot
之前分析了汇编文件\u-boot-1.1.6\cpu\arm920t\start.S =》u-boot1.1.6代码分析第二阶段启动分析:u-boot-1.1.6\lib_arm\board.cstart_armboot 做了哪些事情?1、定义了一个全局变量并分配空间初始化CFG_MALLOC_LEN= CFG_ENV_LEN + 64*1024gd指向的这个空间中 先分配了 CFG_MALLOC_LEN的空间然后又分配了结构 gd_t的空间,之后会初始化这个结构中的变量;...原创 2020-10-18 18:24:48 · 188 阅读 · 0 评论 -
u-boot1.1.6代码分析
u-boot1.1.6代码分析arm920t启动流程第一阶段启动过程start.S1、设置cpu为管理这个模式mrsr0,cpsrbicr0,r0,#0x1forrr0,r0,#0xd3msrcpsr,r02、关闭看门狗# define pWTCON0x53000000ldr r0, =pWTCONldr r1, =0str r1, [r0]3、设置时钟分频系数 FCLK:HCLK:PCLK = 1:2:4 400 200 10...原创 2020-10-12 22:04:50 · 275 阅读 · 0 评论 -
裸板 nand flash K9F2G08U0C --- 读取ID
上一节讲了 设置 nand时序nand时序设置存储类芯片操作步骤:1、初始化 主控芯片对的nand flash 控制器2、识别 读取id (判断芯片是否正常)3、读 写 擦除nand flash 芯片手册读取ID截图:【分析】:1、肯定先发出片选信号 选中芯片 》》》》》》》》》》》》 CE拉低2、我们发出写命令 : 1) we 拉低 CLE 拉高 保持...原创 2020-08-26 19:51:29 · 1153 阅读 · 0 评论 -
裸板 nand flash K9F2G08U0C
存储类芯片的操作步骤:1、初始化 (初始化 时序支持芯片运行周期)2、识别 (读取设备id 验证是否初始化成功物理芯片是否正常)3、读取或写入操作4、擦除操作初始化操作:初始化时序,使能soc nand控制器...原创 2020-08-20 22:06:50 · 951 阅读 · 0 评论 -
中断概念介绍(一)
第001节_概念引入与处理流程取个场景解释中断。假设有个大房间里面有小房间,婴儿正在睡觉,他的妈妈在外面看书。问:这个母亲怎么才能知道这个小孩醒?过一会打开一次房门,看婴儿是否睡醒,让后接着看书一直等到婴儿发出声音以后再过去查看,期间都在读书第一种 叫做查询方式:优点:简单缺点: 累写程序如何:while(1){1 read book(读书)2 open door(开门)...原创 2020-04-06 19:33:22 · 864 阅读 · 0 评论 -
重定位 (二)
重定位二:上一节说了:为什么需要重定位?重定位是什么?怎么实现重定位?(只是实现了某个全局变量或者说数据段的一个字节重定位)本节目标:实现整个代码的重定位:这里只列举nor启动重定位全部代码,因为nor可以想内存一样直接读取;nand 读取方式是通过io外接接口和内存读写方式不同,之后介绍了nand读写方式后再补充;ok分析思路:首先:1、我们要重定位代码那这个函数的参数肯定...原创 2020-03-29 09:22:49 · 589 阅读 · 0 评论 -
重定位 介绍 (一)
重定位为什么需要重定位?重定位是什么?怎么实现重定位?环境1、s3c2440裸板2、Linux version 4.15.0首先1、为什么需要重定位?s3c2440启动有两种方式: a、nand 启动 b、nor启动nornand可以像内存一样读,不能像内存一样写,因此当代码存在全局变量,静态变量时,不能有效的修改这些变量的值上电 硬件将nand代码...原创 2020-03-26 22:59:54 · 5937 阅读 · 0 评论 -
高手进阶,终极内存技术指南——完整/进阶版 sdram内部原理
@[TOC] sdram 内部原理转载:https://blog.csdn.net/qq_16748819/article/details/83037781#电脑中必不可少的三大件之一(其余的两个是主板与CPU),内存是决定系统性能的关键设备之一,它就像一个临时的仓库,负责数据的中转、暂存……不过,虽然内存对系统性能的至关重要,但长期以来,DIYer并不重视内存,只是将它看作是一种买主板和C...转载 2020-03-22 17:06:22 · 674 阅读 · 0 评论