凡走过必留下痕迹,学点什么都会有用的. 本系列博文总结了自己在学习嵌入式Linux编程过程中的收获,若有错误,恳请指正,谢谢! --参考教材韦东山系列教材 bootloader 是一个用于启动linux内核的C程序,为了达到最终启动内核的目的需要完成以下几个步骤: step1:硬件相关初始化,为启动内核准备硬件平台: step2:将内核从NAND FLASH读取到SDRAM: step3:设置需要传递给内核的启动参数: step4:跳转到SDRAM,运行内核: 下面将详细讲述各个步骤细节: 第一…
一.下载源码:ftp://ftp.denx.de/pub/u-boot/ 二.初始化编译: ①新建一个单板: cd board/samsung/ cp smdk2410 smdk2440 -rf   cd ../../include/configs/ cp smdk2410.h smdk2440.h       修改boadrs.cfg : 复制2410一行,并改为2440 make , 烧写调试. ②make menuconfig      #根据自身需求进一步配置 ③修改Makefile ,…
一.下载U-boot源码:ftp://ftp.denx.de/pub/u-boot/ 二.uboot的启动过程: 部分硬件初始化——>加载完整uboot到RAM——>跳转到第二阶段入口开始执行,整个过程最重要的两个文件: /arch/arm/cpu/arm920t/start.S,涉及到特定硬件设备的读写寄存器操作以及特定体系结构的汇编语言(中断.时钟等). board/samsung/smdk2440/lowlevel_init.S,完成底层的初始化(内存控制器等). 具体流程如下: 1 s…
title: Jz2440开发板熟悉 tags: ARM date: 2018-10-14 15:05:56 --- 概述 外部晶振为12M Nand Flash 256M,Nor Flash 2M,SDRAM 32*2=64M 分区 内容 Nand flash地址分配 bootloader分区 Uboot分区 0---256k 环境变量分区 环境变量(参数) 256k---256k+128k kernel 分区 Linux内核 256k+128k-256k+128k+2M Rootfs分区 根…
项目概述 上周在uFUN试用群里看到管理员说试用活动快结束了,要抓紧完成评测总结,看大家的评测总结也都写了,我也不能落后啊!正好最近做的扩展板到手了,于是赶紧进行调试,做了一个不用校准的时钟,时钟这种小设计应该说是烂大街了吧!我一开始学习51的时候做了个可按键校准.带闹钟功能的时钟,学习STM32的时候做了个可以手机蓝牙APP校准的时钟,现在又用uFUN开发板做了个时钟,不过这个时钟是联网校准的.由于之前做过桌面天气预报时钟,如下图: 所以这个联网校准时钟的小项目实现起来还是很顺利的,底板是使用…
前言 使用uFUN开发板配合Qt上位机,实现任意颜色的混合,Qt上位机下发RGB数值,范围0-255,uFUN开发板进行解析,然后输出不同占空比的PWM,从而实现通过RGB三原色调制出任意颜色. Qt上位机界面: 演示视频 优酷视频链接:演示视频 如果上面的链接打不开的话,可以下载观看:演示视频.mp4 RGB简介 RGB 模型是目前常用的一种彩色信息表达方式,它使用红.绿.蓝三原色的亮度来定量表示颜色.该模型也称为加色混色模型,是以RGB三色光互相叠加来实现混色的方法,因而适合于显示器等发光体…
前言 上两周利用周末的时间,分别写了基于uFUN开发板的心率计(一)DMA方式获取传感器数据和基于uFUN开发板的心率计(二)动态阈值算法获取心率值,介绍了AD采集传感器数据和数据的滤波处理获取心率值.这篇文章主要是介绍Qt上位机如何实现波形的显示,串口数据的解析,以及一些小细节实现.这篇文章写完,uFUN心率计这个小项目就算结束了,最近又做了个uFUN开发板的扩展板,在微信群里的朋友都已经看到了,后面会做一些好玩的东西,大家要保持关注哈! 关于Qt Qt是一个1991年由Qt Company开…
前言 上一篇文章:基于uFUN开发板的心率计(一)DMA方式获取传感器数据,介绍了如何获取PulseSensor心率传感器的电压值,并对硬件电路进行了计算分析.心率计,重要的是要获取到心率值,本篇文章将介绍一种采样数据处理算法--动态阈值算法,来获取心率值,这种算法来自于一位网友:玩的就是心跳 -- 使用 PulseSensor 脉搏传感器测量心率,本文部分内容摘自这篇文章. IBI和BPM 心率,指的是一分钟内的心跳次数,得到心率最笨的方法就是计时一分钟后数有多少次脉搏.但这样的话每次测心率都…
查看UART在硬件上的信息,阅读JZ2440原理图可以看到: JZ2440开发板的UART0是可以跟USB相接的,用于打印调试,UART1,UART2两个串口用来外接模块.所以本文仅对UART0进行操作. 从上图可以看到,UART0的TXD0和RXD0对应GPH2和GPH3,硬件上获取的信息大概就就是这些,接下来对芯片手册的UART部分进行分析: 首先需要设置UART0的TXD0和RXD0引脚,对应的GPHCON,GPHDAT,GPHUP寄存器见下图: GPHCON: 将GPH2和GPH3分别设…
想要修改ARM芯片的时钟,需要去查询芯片手册和原理图,获取相关的信息(见下方图片) 首先来看时钟的结构图 根据结构图可以看出,时钟源有两种选择:1. XTIpll和XTOpll所连接的晶振 2. EXTCLK引脚外接一个时钟源 OM[3:2]用来选择到底使用哪个时钟源 再查看原理图,可以发现:OM3和OM2硬件上都是接GND,所以可以知道:采用12MHz晶振作为时钟源 阅读芯片手册,还可以查询到其他寄存器的相关信息,见下图: JZ2440内部使用三种时钟: FCLK: 用于ARM920T芯片,即…