摘要: 使用到的相关设备和环境: (1)JZ2440板子 (2)0.96寸的OLED显示屏 (I2C接口的) (3)Linux 4.1.10内核(我自己移植后的) (4)交叉编译工具链也是我用crosstool-ng-1.24.0工具弄的 前排提示:(1)可以先了解一下Linux I2C的驱动模型再来看代码 阅读全文
posted @ 2020-04-23 14:27 Recca 阅读(1646) 评论(0) 推荐(1) 编辑
摘要: 四、其余部分初始化 1、Nor flash初始化 (1)这里由于未添加开发板对应型号Nor flash,所以读到的大小为0 2、对u-boot的malloc区域清零 3、Nand flash初始化 4、环境变量的重定向 (1)env_relocate()定义在/common/env_common.c 阅读全文
posted @ 2019-09-08 00:45 Recca 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 当跑完start.S和lowlevel_init.S后,就会跳转到start_armboot()这个函数继续运行,这个函数定义在/lib_arm/board.c文件中。 一、全局变量gd初始化 1、为类型为struct gd_t的全局变量gd分配空间,并对其进行初始化;同时为类型为struct bd 阅读全文
posted @ 2019-09-07 13:53 Recca 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 一、前言 我使用的是JZ2440,soc是s3c2440,架构是ARM920t,指令集是ARM9。 一般来说,开发板的相关配置都存放在board目录,所以根据在board/100ask24x0的链接脚本u-boot.lds可了解到,u-boot的入口地址为_start,其定义在cpu/arm920t 阅读全文
posted @ 2019-09-01 21:26 Recca 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 一、在Linux中,有两种函数库,以*.so后缀命名的是动态函数库,以*.a后缀命名的是静态函数库 对于静态函数库:在编译链接时候,程序所需要的函数会从静态函数库中拷贝到执行文件中。当程序运行的时候,就不需要链接外部的函数库了。 对于动态函数库:在编译链接时,程序所需要的函数不会从动态函数库中拷贝出 阅读全文
posted @ 2019-08-20 21:38 Recca 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 一、简介 PWM就是Pulse Width Modulation,脉冲宽度调制。 假设一个PWM信号,V = +5V,CLK = 13KHz,Duty = 50%,那么它输出的信号就可以看成是一个+2.5V的直流信号。 二、PWM的分辨率 假设(1)芯片自带的PWM模块分辨率为10bit (2)PW 阅读全文
posted @ 2019-07-24 23:03 Recca 阅读(29355) 评论(4) 推荐(3) 编辑
摘要: 最近,同事在负责一个项目的时候遇到一个问题:数组初始化后值异常,后来找出是使用memset函数的锅,这里我也来跟着学习下。。 C语言中memset源码如下: 我们可以发现,在memset()函数中,会将(void *)类型转换成(char *)类型,这样会有什么影响呢? 1、试验一 这里分别设置两个 阅读全文
posted @ 2019-07-21 14:25 Recca 阅读(1551) 评论(0) 推荐(1) 编辑
摘要: 首先,FIR滤波器的输出公式为: (具体的话可以查看数字信号处理书籍,都忘得差不多了。。。) 假设:输入的信号是x(n) = sin(2*pi*f1*n/fs) + sin(2*pi*f2*n/fs) 所设计的滤波器是一个低通FIR滤波器,使用的是hamming窗,阶数为10 则可以使用MATLAB 阅读全文
posted @ 2017-12-09 12:05 Recca 阅读(6880) 评论(1) 推荐(0) 编辑
摘要: RCC(Reset Clock Controller) —— 复位与时钟控制 一、复位 STM32F10xxx支持三种复位形式,分别为系统复位、上电复位和备份区域复位。 系统复位:除了时钟控制器的RCC_CSR寄存器中的复位标志位和备份区域中的寄存器以外,系统复位将复位所有寄存器至它们的复位状态。 阅读全文
posted @ 2017-11-05 11:38 Recca 阅读(14718) 评论(1) 推荐(0) 编辑
摘要: GPIO即通用输入/输出 (General Purpose Input Output) 包括:两个32位的配置寄存器 GPIOx->CRL,GPIOx->CRH 两个32位的数据寄存器 GPIOx->IDR,GPIOx->ODR 一个32位的 set/reset 寄存器 GPIOx->BSRR 一位 阅读全文
posted @ 2017-10-22 11:57 Recca 阅读(10166) 评论(0) 推荐(0) 编辑