Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

U-Boot系列之一: S3C2410内存映射结构

U-Boot系列之一: S3C2410内存映射结构

这片文章主要介绍S3C2410的内存映射,主要参考2410的用户手册。 我用的板子是基于三星的2410,三星的内存片选有8个bank,这里所谓的bank我开始也不是很清楚,在网上搜了一通也不知所云,但是当我看了2410的用户手册后才有点明白,这里的bank就是片选,一个片选就是一个bank,在U-Boot中,配制的时候要配制SDRAM和FLASH的bank数,那么如果你的SDRAM或者FLASH就接了一个片选的时候,就定义为1就可以了,其他的类推。 下面是...
U-Boot系列之二: Flash和SDRAM中的布局

U-Boot系列之二: Flash和SDRAM中的布局

本篇文章主要讨论u-boot,Linux内核以及文件系统在Flash以及SDRAM中的布局,我用的板子是华恒的爱好者学习板,基于S3C2410,所参考的也是华恒所给的文档。 通过u-boot命令flinfo,可以看出,所用的flash是intel TE28F640J3C120,flash一共有64个块,每个块有128K大小,其中u-boot就放在最前面的块中,下面是其中的分配布局,第二个是对应的当把内核以及文件系统搬到内存中时内存的布局。Flash:===...
U-Boot系列之三: u-boot整体结构、移植步骤以及启动代码分析

U-Boot系列之三: u-boot整体结构、移植步骤以及启动代码分析

本篇文章首先介绍u-boot的整体代码结构,移植的基本步骤,然后分析启动的代码(start.S)中其中代码结构和移植步骤是参考了下面两个连接的文章,作者是 焦玉全 黄乡生 鲍玉军,题目是第7540篇:U-Boot在S3C2410上的移植(具体URL忘了,我文章是下载的,知道的朋友告诉一声)一、整体结构首先下载u-boot的源代码(www.denx.de),解压缩,你可以看到下面的目录:- board 目标板相关文件,主要包含SDRAM、FLASH驱动;- ...
U-Boot系列之四: start_armboot()函数分析

U-Boot系列之四: start_armboot()函数分析

在上一篇http://www.linuxidc.com/Linux/2011-08/39958.htm文章中,我们介绍了u-boot启动的时候汇编语言的部分,当时我们进行了一些简单的初始化,并且为C语言的执行建立的环境(堆栈),现在我们看看当从汇编语言转到C语言的时候执行的第一个函数( start_armboot (),在lib_armoard.c中),该函数进行了一系列的外设初始化,然后调用main_loop (),根据配置来选择是直接加载Linux内...
U-Boot源码分析及移植-fs2410

U-Boot源码分析及移植-fs2410

本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:1、u-boot工程的总体结构2、u-boot的流程、主要的数据结构、内存分配。3、u-boot的重要细节,主要分析流程中各函数的功能。4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下面主要以smdk2410为分析对象。U-BOOT的下载地址: http://ww...
S3C6410启动模式介绍

S3C6410启动模式介绍

目前的ARM处理器都支持多种启动模式,S3C6410和以前的Samsung的ARM处理器一样,通过外部管脚OM[4:0]的拉高拉低来决定是从哪个存储设备上启动。我认为S3C6410的User Manual并没有说的很清楚,所以我在最开始使用的时候,也对其启动模式有一些误解,下面就我个人的理解,介绍一下S3C6410的启动。先读一下S3C6410 User Manual的(PDF版下载在http://www.linuxidc.com/Linux/2011-0...
Linux C 多线程编程 互斥锁与条件变量

Linux C 多线程编程 互斥锁与条件变量

一、互斥锁互斥量从本质上说就是一把锁, 提供对共享资源的保护访问。 1. 初始化: 在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化: 对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init. 对于动态分配的互斥量, 在申请内存(malloc)之后, 通过pthread_mutex_init进行初始化, 并且在释放...
Android线程使用注意问题

Android线程使用注意问题

一、众所周知Hanlder是线程与Activity通信的桥梁,我们在开发好多应用中会用到线程,有些人处理不当,会导致当程序结束时,线程并没有被销毁,而是一直在后台运行着,当我们重新启动应用时,又会重新启动一个线程,周而复始,你启动应用次数越多,开启的线程数就越多,你的机器就会变得越慢。这时候就需要在destory()方法中对线程进行一下处理!二、main。xml布局文件 <?xml version="1.0" encoding="utf-8"?>...
移植Linux内核到s3c6410(板子u-boot网口link-down问题解决)

移植Linux内核到s3c6410(板子u-boot网口link-down问题解决)

uImage/ramdisk准备好后,准备tftp到单板上小式一把,结果将单板停在uboot后,网口一直link down,ping host后还打印“could not establish link”。真是抑郁啊。细想,板子回来后,在uImage起来后,我是验证过网口的,是OK的,所以硬件应该没啥问题,应该是u-boot的支持问题。研究一下ping的流程:do_ping-->NetLoop(PING)-->eth_halt-->eth_...
移植Linux内核到s3c6410(配置内核make menuconfig)

移植Linux内核到s3c6410(配置内核make menuconfig)

1、准备: 由于调试阶段要经常修改内核,烧写flash比较耗时,准备采用u-boot+uImage+initrd机制,内核基础版本采用linux 2.6.38单板需要支持的:CPU: S3C6410 ARM1176JZF-SDDR: 256MBFLASH:MLC 2 NAND FLASH 2GB串口 4网口 DM9000RTC驱动看门狗音频驱动USB(USB HOST,摄像头,无线网卡,3G上网卡,键盘,鼠标,优盘,移动硬盘)SD卡SD WIFISPII2...
移植Linux内核到s3c6410(使用busybox构建initrd ramdisk)

移植Linux内核到s3c6410(使用busybox构建initrd ramdisk)

busybox就是linux的一个应用程序,就是讲一套非常使用的命令工具集成到一个busybox命令下,它不一定是最全的,但是是非常使用的,被大家称为嵌入式linux的“瑞士军刀”,其编译和配置方法跟linux内核非常相似,使用比较方便。下载地址:http://www.busybox.net/ 相关阅读:移植Linux内核到s3c6410(配置内核make menuconfig) http://www.linuxidc.com/Linux/2011-08/...
<< 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 >>