想要修改ARM芯片的时钟,需要去查询芯片手册和原理图,获取相关的信息(见下方图片) 首先来看时钟的结构图 根据结构图可以看出,时钟源有两种选择:1. XTIpll和XTOpll所连接的晶振 2. EXTCLK引脚外接一个时钟源 OM[3:2]用来选择到底使用哪个时钟源 再查看原理图,可以发现:OM3和OM2硬件上都是接GND,所以可以知道:采用12MHz晶振作为时钟源 阅读芯片手册,还可以查询到其他寄存器的相关信息,见下图: JZ2440内部使用三种时钟: FCLK: 用于ARM920T芯片,即…
查看UART在硬件上的信息,阅读JZ2440原理图可以看到: JZ2440开发板的UART0是可以跟USB相接的,用于打印调试,UART1,UART2两个串口用来外接模块.所以本文仅对UART0进行操作. 从上图可以看到,UART0的TXD0和RXD0对应GPH2和GPH3,硬件上获取的信息大概就就是这些,接下来对芯片手册的UART部分进行分析: 首先需要设置UART0的TXD0和RXD0引脚,对应的GPHCON,GPHDAT,GPHUP寄存器见下图: GPHCON: 将GPH2和GPH3分别设…
一.下载源码: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…
本文是对韦东山嵌入式第一期学习的记录之一,如有您需要查找的信息,可以继续往下阅读. 想要用按键点亮LED灯,就需要知道按键和LED灯的相关信息,这样才可以进行之后的操作.阅读JZ2440的原理图,可以得到以下信息(见下方图片) JZ2440开发板用到了S2,S3,S4三个按键,nLED1,nLED2,nLED4三盏LED灯,它们对应的寄存器位分别是: 按键:S2(EINT0)——GPF0 S3(EINT2)——GPF2 S4(EINT11)——GPG3 LED:  nLED1——GPF4 nLE…
当前虽然编译成功了,但是对于我们自己的目标板并不太适用.还得做一系列得修改. 一.lds 文件分析 u-boot 中最重要得链接文件即是,u-boot.lds.我们可以查看我们编译出来得 u-boot.lds 文件进行分析,原始文件在 arch/arm/cpu/ 下,编译出来得去掉了不想关得选项. u-boot.lds脚本文件告诉链接器linker如何布局代码段.数据段.bss段等,已经配置了u-boot自拷贝(从flash到RAM的copy)的内容.另外,还简要的涉及了动态链接技术等. /*…
凡走过必留下痕迹,学点什么都会有用的. 本系列博文总结了自己在学习嵌入式Linux编程过程中的收获,若有错误,恳请指正,谢谢! --参考教材韦东山系列教材 bootloader 是一个用于启动linux内核的C程序,为了达到最终启动内核的目的需要完成以下几个步骤: step1:硬件相关初始化,为启动内核准备硬件平台: step2:将内核从NAND FLASH读取到SDRAM: step3:设置需要传递给内核的启动参数: step4:跳转到SDRAM,运行内核: 下面将详细讲述各个步骤细节: 第一…
一.代码分析 上一节已经分析了链接文件,知道了首先代码是从 _start 开始,之后设置了中断向量表,然后从 start.s 开始运行. _start:vectors.S (arch\arm\lib) reset:start.S (arch\arm\cpu\arm920t) _main:crt0.S (arch\arm\lib) board_init_f:Board_f.c (common) 1.1 vectors.S vectors.S 为软件起始,标记_start,在此文件中,主要是定义异常…
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分区 根…
from:第010课_掌握ARM芯片时钟体系 第001节_S3C2440时钟体系结构 S3C2440是System On Chip(SOC),在芯片省不仅仅有CPU,还有一堆外设. 至于有哪些外设,可以查看参考手册.在S3C2440参考手册的第一章PRODUCT OVERVOEW里面有个BLOCK DIAGRAM图: 可以把该图分为上中下三块,上面的是誉CPU紧密相关的,工作于FCLK:中间的一些对性能要求较高的设备,像LCD显示.相机等,在AHB BUS,H即为High,高速之意,工作于HCL…