(一)LED点灯调试

FL2440电路总共有4个LED0,LED1,LED2,LED3,分别接到板子GPB5,GPB6,GPB8,GPB10引脚。通过设置三个寄存器GPBCON(0x56000010),GPBDAT(0x56000014),GPBUP(0x56000018),控制GPB[10:0]引脚可控LED的亮灭。

控制LED亮灭有三步:

1,设置GPB5,GPB6,GPB8,GPB10为输出工作方式,即GPBCON [21:20]
 = 01 GPBCON [17:16]  = 01,GPBCON [13:12]  = 01,GPBCON [11:10]  = 01

2,GPBUP置0000 0101 0110 0000 即GPB5,GPB6,GPB8,GPB10皆禁止使能上拉

3,设置GPBDAT寄存器,低电平LED亮

例子:

#define GPBCON   0x56000010/*设置GPB5,GPB6,GPB8,GPB10工作方式*/

#define GPBDAT   0x56000014 /*输出端口,控制LED亮灭*/

#define GPBUP     0x56000018 /*禁止使能上拉*/

ldr     r0, =GPBCON  /*Set GPIO5, GPIO6, GPIO8, GPIO10
as GPIO OUTPUT mode   */

ldr      r1, [r0]

ldr      r1, =0x00295550

str r1, [r0]

ldr r0, =GPBUP
/*Set bit 5,6,8,10, disable pullup resister*/

ldr r1, [r0]

orr r1, r1, #0x0560          /*0000   0101   0110   0000    */

str r1, [r0]

ldr     r2, =GPBDAT

ldr     r3, [r2]

orr     r3, r3, #0x0540    
/*Set bit 6,8,10 as high level and bit 5 as low, Turn On LED0*/

str     r3, [r2]

以下附上部分原理图,具体参考s3c2440的datasheet,以及fl2440电路原理图

(二)u-boot加载地址

基于FL2440板子,配有64M的SDRAM,并且挂载到nGCS6(0x3000 0000),所以64M的SDRAM

寻址范围:0x3000 0000 – 0x3400 0000。

在我修改 u-boot-2010.09/board/lingyun/ly2440/config.mk文件如下:

# (C) Copyright 2002
# Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
# David Mueller, ELSOFT AG, <d.mueller@elsoft.ch>
#
# SAMSUNG SMDK2410 board with S3C2410X (ARM920T) cpu
#
# see http://www.samsung.com/ for more information on SAMSUNG
# #
# SMDK2410 has 1 bank of 64 MB DRAM
#
# 3000'0000 to 3400'0000
#
# Linux-Kernel is expected to be at 3000'8000, entry 3000'8000
# optionally with a ramdisk at 3080'0000
#
# we load ourself to 33F8'0000
#
# download area is 3300'0000 TEXT_BASE = 0x33F80000

总结:

1,Linux系统自启过程中,u-boot默认加载到 0x33f8 0000运行, Linux-Kernel则默认加载到0x3000 8000运行。

2,用J-TAG调试阶段,u-boot临时下载到0x33f8 0000运行。

3,在移植阶段,需把u-boot和Linux-Kernel烧写到NANDFLASH,但是不能直接烧写。所以先TFTP下载到内存,

再由内存下载到NANDFLASH,因此临时下载到0x3000
8000地址,并且不会覆盖已经运行的u-boot(通过J-TAG

下载到地址0x33f8 0000运行,由0x3000 8000到0x33f8 0000 为15M空间,本次u-boot和Linux-Kernel大小都小于15M)

4,总之,移植过程J-TAG下载阶段借用0x33f8 0000地址下载;TFTP下载阶段借用0x3000 8000地址下载。

也可以用其他地址临时烧写,但是必须保证不能冲突,覆盖已经运行的u-boot。

u-boot移植总结(二)LED点灯调试 和 u-boot加载地址的更多相关文章

  1. React Native:真机断点调试+跨域资源加载出错问题解决

    写在前面 闲来无事,折腾了一下React Native,相比之前,开发体验好了不少.但在真机断点调试那里遇到了跨域资源加载出错的问题,一番探索总算解决,目测是RN新版本调试服务的bug. 遇到类似问题 ...

  2. React Native 断点调试 跨域资源加载出错问题的原因分析

    写在前面 ————如果从头开始看还没解决,试试文章最后的绝招 闲来无事,折腾了一下React Native,相比之前,开发体验好了不少.但在真机断点调试那里遇到了跨域资源加载出错的问题,一番探索总算解 ...

  3. Spring Boot - Font Awesome OTS parsing error: Failed to convert 字体加载失败

    字体文件,加载不出来 解决方案  一 问题是Maven正在过滤字体文件并破坏它们. <resource> <directory>${project.basedir}/src/m ...

  4. spring boot入门笔记(四) - 多环境配置、加载顺序、静态资源映射

    1.多环境配置 先描述下以前的开发流程:从SVN把项目下载到本地,各种修改配置文件,启动成功:完成功能后上传到公司的测试服务器,修改各种配置文件,启动成功:最后到上线的日子里,把新功能中涉及到的文件打 ...

  5. visual studio 调试时提示 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。

    问题描述 “Win32Project3.exe”(Win32): 已加载“D:\software\VS2013\VS2013 文档\Win32Project3\Debug\Win32Project3. ...

  6. Spring Boot 学习系列(09)—自定义Bean的顺序加载

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Bean 的顺序加载 有些场景中,我们希望编写的Bean能够按照指定的顺序进行加载.比如,有UserServ ...

  7. Spring Boot GraphQL 实战 03_分页、全局异常处理和异步加载

    hello,大家好,我是小黑,又和大家见面啦~ 今天我们来继续学习 Spring Boot GraphQL 实战,我们使用的框架是 https://github.com/graphql-java-ki ...

  8. 【转】VC调试的时候 “没有调试信息,未加载符号”

    概述调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言.不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件.这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用. ...

  9. 1. AE二次开发——地图的基本操作(加载地图文档,加载shape,加载mdb,地图的保存,缩放,漫游)

    1. 加载数据Icommand方法 ICommand Butdata = new ControlsAddDataCommandClass(); Butdata.OnCreate(axMapContro ...

随机推荐

  1. Xcode8新特性和iOS10新特性

    从 Xcode 8.0 开始,目前所有的插件都无法工作! NSLog 无法输出 -- 此bug等待正式版本... Xcode 提供了文档注释快捷键option + cmd + / 但是要把系统升级到1 ...

  2. Spring3 MVC请求参数获取的几种方法

    Spring3 MVC请求参数获取的几种方法 一.      通过@PathVariabl获取路径中的参数 @RequestMapping(value="user/{id}/{name}&q ...

  3. node递归属性目录结构

    要求,读取结束后才能输出所有文件 var fs = require('fs');var path = require('path'); var list = [];var count = 0;func ...

  4. mysql DB server端,如何让读写更快

    其实,我不是专业的DB管理同学,甚至算不上会了解.只是在最近的工作中,遇到了DB server端优化的契机,所以把这些手段记录下来: 通过调整这个参数的值,可以让DB更给力: 这两个参数的含义: 1. ...

  5. Dbvisualizer9.0.6 解决中文乱码

    一.设置编辑器的编码 Tools->Tools Properties ->General->File Encoding 设置为UTF-8 二.如果数据库为UTF-8,则要在连接时做以 ...

  6. Visual Studio .NET项目转换器(ProjectConverter)修改

    Visual Studio .NET 项目转换器非常类似于ASP.NET版本转换器,区别在于它用于转换 Visual Studio 项目文件的版本.尽管在 .NET 框架的 1.0 版和 1.1 版之 ...

  7. SVN上传代码

    概述 SVN上传代码 使用SVN工具上传代码到新浪SAE 1.下载SVN工具http://tortoisesvn.net/downloads.html 2.创建一个文件夹,Checkout,输入SAE ...

  8. ruby -- 基础学习(五)empty、nil、blank三者之间的区别

    这三个方法在ROR中经常用到,都是用来判断是否为空的. 区别是: ruby的方法:.nil?..empty? rails的方法 :.blank? 用法的区别: .nil?    :   判断对象是否存 ...

  9. ruby -- 进阶学习(六) devise修改邮件发送者邮箱

    在config/environment.rb/development.rb或者config/environment/production.rb中, 简单示范例子: Text03::Applicatio ...

  10. HMM 自学教程(七)前向后向算法

    本系列文章摘自 52nlp(我爱自然语言处理: http://www.52nlp.cn/),原文链接在 HMM 学习最佳范例,这是针对 国外网站上一个 HMM 教程 的翻译,作者功底很深,翻译得很精彩 ...