处理器【S3C2440】
文章平均质量分 66
文墨一剑
古今之成大事业、大学问者,必经过三种之境界:“昨夜西风凋碧树。独上高楼,望尽天涯路。”此为第一境也。
“衣带渐宽终不悔,为伊消得人憔悴。”此第二境也。
“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境也。
此等语皆非大词人不能道。然遽以此意解释诸词,恐为晏欧诸公所不许也。
展开
-
TQ2440 学习笔记—— 34、移植 Linux 内核【 Makefile 分析 】
(韦东山——嵌入式Linux 应用开发完全手册)一、Linux Makefile 分析(1)Makefile 的作用a、决定编译哪些文件b、怎样编译这些文件c、怎样连接这些文件,最重要的是它们的顺序如何Linux 内核中有很多个Makefile 文件,下面是 Makefile 文件的五大类:a、决定编译哪些文件。Linux 内核的原创 2015-09-19 14:40:54 · 590 阅读 · 0 评论 -
TQ2440 使用Jlink-Flasher 烧写 u-boot 或者 program
目前有三种方式来烧写1、使用SJF2440 软件,配合 PC并口,这种方法最原始,效率低下,并且PC 必须有并口,现在的电脑一般都没有,笔记本就更加不用说啦!2、使用H-Jtag 软件,配合PC并口,对于有PC 并口的,可以推荐下,但是一般都是没有的!3、使用Jlink 软件,PC 端没有并口,我们一般都采用这种方法,特别是笔记本电脑。TQ2440 买回来的时候是有u-bo原创 2015-10-04 17:06:44 · 1514 阅读 · 0 评论 -
TQ2440 学习笔记—— 26、ADC 和触摸屏接口
S3C2440A内置一个带8个模拟输入通道的10位逐次逼近型(recycling type)CMOS模数转换器。在2.5MHz的模数转换时钟频率下,转换速率可达到500KSPS(Kilo Samples Per Second),并且支持片内采样保持功能和省电模式。S3C2440原创 2015-09-04 10:23:55 · 1031 阅读 · 0 评论 -
TQ2440 学习笔记—— 24、IIC 接口
(韦东山——嵌入式Linux 应用开发完全手册) IIC 接口IIC (Inter-Integrated Circuit)总线是一种由PHILIPS 公司开发的串行总线,用于连接微控制器及其外围设备,它具有如下特点:1、只有两条总线线路:一条串行数据线(SDA),一条串行时钟线(SCL)。2、每个连接到总线的器件都可以使用软件根据它的唯一的地址来识别。3、传输数据的设备原创 2015-09-04 10:14:24 · 642 阅读 · 0 评论 -
TQ2440 学习笔记—— 19、内存管理单元MMU
(韦东山——嵌入式Linux 应用开发完全手册)一、内存管理单元MMU介绍 主要功能:权限管理、地址映射内存管理单元简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。MMU使得每个用户进程拥有自己独立的地址空间,并通过内存访问权限的检查保护每个进程所用的内存不被其他进程破坏。重点就在于地址映射:页表的结构与原创 2015-09-04 09:38:22 · 1007 阅读 · 0 评论 -
ADS 1.2 在WIN7 64 下——编译测试程序出错的问题
Windows 7 64 位系统安装的是ADS 1.2按照TQ2440 的裸奔三部曲,刚开始打开TQ2440的测试程序,发现程序编译通不过,有15个错误!如下:出现问题的原因:就出在Program Files (x86)那个括号上。ADS是1997年的产品,对本地化支持不好。这种情况只会出现在WIN7 X64的系统下,x32下没有Program Files (原创 2015-09-29 21:02:28 · 2666 阅读 · 0 评论 -
TQ2440 学习笔记—— 27、移植U-Boot【Bootloader 作用、工作流程】
(韦东山——嵌入式Linux 应用开发完全手册)一、Bootloader 简介1、原创 2015-09-04 10:38:05 · 1010 阅读 · 0 评论 -
TQ2440 学习笔记—— 29、移植U-Boot【U-Boot 的编译、链接过程】
(韦东山——嵌入式Linux 应用开发完全手册)U-Boot 的编译、链接过程配置完后,执行” make all“即可编译,从Makefile 中可以了解 U-Boot 使用了哪些文件、哪个文件首先执行、可执行文件占用的内存情况。先确定用到哪些文件,下面所示为Makefile 中与ARM 相关的部分。第117、164 行用于包含其他的config.mk 文件,第117行所要原创 2015-09-06 16:11:12 · 550 阅读 · 0 评论 -
TQ2440 学习笔记—— 30、移植U-Boot【U-Boot 的启动过程第一阶段源码分析】
(韦东山——嵌入式Linux 应用开发完全手册)使用u-boot 从NOR Flash 启动,前面说过u-boot 属于两个阶段的Bootloader ,第一阶段的文件为cpu/arm920t/start.S 和 board/EmbedSky/lowlevel_init.S, 前者是平台相关的,后者是开发板相关的。一、u-boot 第一阶段代码分析(1)硬件设备初始化依次完原创 2015-09-07 09:30:54 · 744 阅读 · 0 评论 -
TQ2440 学习笔记—— 20、NAND Flash 控制器
(韦东山——嵌入式Linux 应用开发完全手册)一、NAND Flash控制器1、地址空间SRAM,DM9000 的地址总线接到了S3C2440的地址总线上;而NAND Flash 没有地址总线,与前者相比它的寻址方式是不同的。故必须分清楚地址。2、NAND 的编址3、NAND 的命令4、使用S3C2440 的NAND Flash 控制器 访问NAND Flash原创 2015-09-04 09:46:19 · 629 阅读 · 0 评论 -
TQ2440 学习笔记—— 23、通用异步收发器 UART
(韦东山——嵌入式Linux 应用开发完全手册)通用异步收发器 UARTUART(Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置)用于异步通信,可以实现全双工发送和接收。s3c2440提供了三个UART端口,它们都可以通过查询、中断和DMA方式传输数据。下面通过原创 2015-09-04 10:07:44 · 680 阅读 · 0 评论 -
TQ2440 学习笔记—— 22、系统时钟和定时器
(韦东山——嵌入式Linux 应用开发完全手册)系统时钟和定时器原创 2015-09-04 10:03:54 · 737 阅读 · 0 评论 -
TQ2440 学习笔记—— 33、移植 Linux 内核【 准备 】
(韦东山——嵌入式Linux 应用开发完全手册)一、Linux 版本及特点Linux 的内核版本号可从位于顶层目录下的 Makefile 中查找到。如 VERSION = 2 VERSION = 6 SUBLEVEL = 22 EXTRAVERSION = .6 这几行构成了版本号 2.6.22.6。其中 VERSION 及 VERSION 构成版本的主原创 2015-09-19 10:44:50 · 836 阅读 · 0 评论 -
【Linux 移植 】——5、移植 u-boot-2012.04.01 之 支持Nor Flash
。。。待续原创 2015-10-06 16:40:40 · 631 阅读 · 0 评论 -
【Linux 移植 】——4、移植 u-boot-2012.04.01 之 支持NAND启动
三、移植 u-boot-2012.04.01 之 支持NAND启动需要进行修改和添加的文件:1、添加的文件:init.c 包含NAND Flash 的相关配置 board/samsung/smdk2440目录, 修改Makefile2、需要修改的文件:a、去掉-pie选项,修改arch/arm/config.mkb、start.Sc、smdk2440.hd、co原创 2015-10-05 21:45:27 · 853 阅读 · 1 评论 -
【Linux 移植 】——3、移植 u-boot-2012.04.01 之 修改代码(时钟,SDRAM,UART)
1、 修改UBOOT支持NAND启动 原来的代码在链接时加了"-pie"选项, 使得u-boot.bin里多了"*(.rel*)", "*(.dynsym)", 使得程序非常大,不利于从NAND启动(重定位之前的启动代码应该少于4K)1.1、去掉 "-pie"选项 arch/arm/config.mk:75:LDFLAGS_u-boot += -pie 去掉这行原创 2015-10-05 09:52:31 · 939 阅读 · 0 评论 -
【Linux 移植 】——2、移植 u-boot-2012.04.01指分析启动过程
移植 u-boot-2012.04.01 之 修改代码(时钟,SDRAM,UART)1、 修改U-BOOT代码1.1 建一个单板cd board/samsung/cp smdk2410 smdk2440 -rfcd ../../include/configs/cp smdk2410.h smdk2440.h修改boards.cfg:仿照smdk2410原创 2015-10-04 20:03:09 · 968 阅读 · 0 评论 -
【Linux 移植 】——1、软硬件平台和目标
1、设置 CPU 为管理模式 set the cpu to SVC32 mode2、关看门狗 turn off the watchdog3、屏蔽中断 mask all IRQs by setting all bits in the INTMR4、设置分频时钟比例5、设置内存控制控制器 (CPU 底层初始化)6、设置栈,调用 C 函数 board_init_f7、调用函数数原创 2015-10-04 19:34:47 · 798 阅读 · 0 评论 -
TQ2440 学习笔记—— 21、中断体系结构
S3C2440一共有60个中断源,其中有15个子中断源,它们与SUBSRCPND寄存器中的每一位相对应,其他45个中断源与SRCPND中的每一位相对应。要注意的是EINT4~7对应的是同一位SRCPND[4],而EINT8~23对应的也是S原创 2015-09-04 09:52:25 · 643 阅读 · 0 评论 -
TQ2440 学习笔记—— 25、LCD 控制器
TFT LCD的时序比较复杂,因此S3C2440涉及TFT LCD的寄存器比较多。只要认真对照好LCD的说明书设置好相应2440寄存器就行了。TFT LCD并不难,但是一个小地方设置错了都可能导致显示不正常,而且十分难找到出错的地方。原创 2015-09-04 10:19:45 · 957 阅读 · 0 评论 -
TQ2440 学习笔记—— 31、移植U-Boot【U-Boot 的启动过程第二阶段源码分析】
(韦东山——嵌入式Linux 应用开发完全手册)二、U-Boot第二阶段代码分析U-Boot 第二阶段流程图移植U-Boot 的主要工作在于对硬件的初始化、驱动,所以下面的重点放在硬件的操作上。(1)初始化本阶段要使用到的硬件设备最主要的是设置系统时钟、初始化串口,只要这两个设置好了就可以从串口看到打印信息。board原创 2015-09-07 10:23:24 · 751 阅读 · 0 评论 -
TQ2440 学习笔记—— 14、GPIO 接口【实验:用C语言实现】
(韦东山——嵌入式Linux 应用开发完全手册)1、使用C语言代码点亮一个LEDC 语言程序执行的第一条指令,并不在main函数中。生成一个C程序的可执行文件时,编译器通常会在我们的代码中加上几个被称为启动文件的代码——crtl.o、crti.o、crtend.o、crtn.o等,它们都是标准库文件。这些代码设置C程序的堆栈等,然后调用main函数。它们依赖于操作系统,在裸板上这些代码无法原创 2015-09-02 20:27:41 · 1076 阅读 · 0 评论 -
TQ2440 学习笔记—— 10、嵌入式编程基础知识【arm-linux-ld 选项】
(韦东山——嵌入式Linux 应用开发完全手册)arm-linux-ld 用于将多个目标文件、库文件链接成可执行文件。介绍 “ -T ” 选项,可以直接使用它来指定代码段、数据段、bss 段的起始地址,也可以用来指定一个链接脚本,在链接脚本中进行更复杂的地址设置。“ -T ” 选项只用于链接Bootloader、内核等“没有底层软件支持”的软件;链接运行于操作系统之上的应用程序时,原创 2015-09-01 16:05:23 · 786 阅读 · 0 评论 -
TQ2440 学习笔记—— 8、自己制作工具链
(韦东山——嵌入式Linux 应用开发完全手册)自己编译工具链:如果要基于gcc 和glibc 来制作工具链,可以使用crosstool 来进行编译;如果要基于gcc 和uClibc 来制作工具链,可以使用buildroot 来进行编译。uClibc 比 glibc 小,在已有的接口上是兼容的,更适用于嵌入式操作系统。但是uClibc 并没有包括glibc 中的所有接口实现,因此有原创 2015-09-01 08:37:54 · 575 阅读 · 0 评论 -
TQ2440 学习笔记—— 2、Win7PC 与虚拟机Ubuntu互通 ping 的网络设置
Win7PC 与虚拟机Ubuntu互通 ping 的网络设置Win7PC与虚拟机中的Ubuntu操作系统进行互ping,自己研究了很久,然后也参考了网上的一些,每次配置都会忘了,再弄很麻烦,现在记录下:电脑配置:Win7 64位操作系统虚拟机VMware Workstation10.0虚拟机中的操作系统Ubuntu 10.04 1、首先,介绍如何在原创 2015-08-12 10:26:00 · 1999 阅读 · 0 评论 -
TQ2440 学习笔记—— 1、Windows平台下开发工具安装与环境建立
板子:广州天嵌公司的TQ2440,处理器为三星的S3C24401、开发工具的安装系统:win7 64位SecureCRT软件:该软件可以代替Windows中的超级终端,是个非常好的串口工具(其实它的功能很多,不过这里只是使用了它的串口功能)直接解压即可使用。使用方法:主要是要注意端口配置:DNW软件:在uboot的下原创 2015-08-12 09:11:15 · 2424 阅读 · 1 评论 -
TQ2440 学习笔记—— 3、如何在ubuntu 9.10 下安装vmware-tools?
用vmware虚拟机安装了ubuntu之后,为了实现更加强大的功能,比如说直接从windows主机拖文件进入ubuntu,以及加强ubuntu的性能,我们一般都要安装vmware tools。在Windows下安装是比较容易的事情,但在Linux下由于是使用命令行,如果不是特别熟悉的话就比较困难啦,我也是菜鸟,在网上找了很多,然后自己安装了,记录下,免得又忘啦! ubuntu原创 2015-08-12 14:14:38 · 876 阅读 · 0 评论 -
TQ2440 学习笔记—— 5、Linux烧写——USB
用USB下载线烧写Linux软件:TQBoardDNW连接USB下载线和串口线烧写前首先格式化Nand Flash格式化之后再烧写镜像文件1、烧写u-boo镜像2、烧写Linux内核镜像3、烧写文件系统镜像4、烧写开机logo镜像烧写完uboot、内核、文原创 2015-08-12 21:19:48 · 1517 阅读 · 0 评论 -
TQ2440 学习笔记—— 6、Windows、Linux环境下相关工具、命令的使用
目标:1、掌握Windows下的代码阅读工具、编辑工具Source Insight2、掌握在Windows下与Linux进行交互的工具:Cuteftp、SecureCRT3、掌握Linux下的代码阅读、编辑工具KScope,串口工具C-kermit4、掌握一些常用的Linux命令1、Windows环境下的工具介绍a、代码阅读、编辑工具Source Insig原创 2015-08-14 10:58:27 · 898 阅读 · 0 评论 -
TQ2440 学习笔记—— 9、嵌入式编程基础知识【arm-linux-gcc 选项】
(韦东山——嵌入式Linux 应用开发完全手册)自己刚开始看的时候,总是沉不下心,后面硬是硬着头皮看完!现在再重新看一遍,做下记录!方便以后阅读,因为有些东西挺容易忘的。一、交叉编译工具选项说明1、arm-linux-gcc 选项一个C/C++ 文件要经过预处理、编译、汇编、和链接 等4个步骤才能变成可执行文件;在Windows 下我们只需要单机几个按钮即可编译原创 2015-09-01 10:00:12 · 942 阅读 · 0 评论 -
TQ2440 学习笔记—— 11、嵌入式编程基础知识【arm-linux-objcopy、objdump选项】
(韦东山——嵌入式Linux 应用开发完全手册)1、arm-linux-objcopy 选项arm-linux-objcopy 被用来复制一个目标文件的内容到另一个文件中,可以使用不同于源文件的格式来输出目的文件,即可以进行格式转换。常用arm-linux-objcopy 来将ELF格式的可执行文件转换为二进制文件。arm-linux-objcopy 的使用格式如下:原创 2015-09-01 20:49:51 · 800 阅读 · 0 评论 -
TQ2440 学习笔记—— 12、GPIO 接口【基础知识】
(韦东山——嵌入式Linux 应用开发完全手册)1、S3C2440 GPIO 简介S3C2440共有130个多功能输入/输出端口,分为9组,GPA ~ GPJ,通过设置寄存器来确定某个引脚用于输入、输出还是其他特殊功能。具体如下:GPA:25个输出端口;GPB:11个输入/输出端口;GPC:16个输入/输出端口;GED:16个输入/输原创 2015-09-01 21:35:20 · 904 阅读 · 0 评论 -
TQ2440 学习笔记—— 13、GPIO 接口【实验:用汇编语言实现】
(韦东山——嵌入式Linux 应用开发完全手册)GPIO 操作实例:LED 和 按键1、使用汇编代码点亮一个LED操作步骤a、编写源程序(程序)b、生成可执行程序(Makefile)c、烧写程序(USB 下载线烧写)d、运行程序a、编写源程序虽然是汇编代码,但是程序很简单,就不解释啦!b、Makefilemake 指令比较 第 1原创 2015-09-02 09:18:21 · 1066 阅读 · 0 评论 -
TQ2440 学习笔记—— 32、移植U-Boot【U-Boot 的移植】
(韦东山——嵌入式Linux 应用开发完全手册)一、U-Boot 的移植待续。。。原创 2015-09-09 10:47:06 · 595 阅读 · 0 评论 -
TQ2440 学习笔记—— 18、存储控制器
(韦东山——嵌入式Linux 应用开发完全手册)一、S3C2440存储控制器提供了访问外部设备的信号。比如像NAND Flash、SRAM、NOR Flash、网卡等。特性如下: — Little/Big endian (selectable by a software) 支持小字节序、大字节序(通过软件选择) — Address space原创 2015-09-04 08:23:59 · 1101 阅读 · 0 评论 -
TQ2440 学习笔记—— 17、处理器和存储器的错位相连
1、存储控制器的特性在2440中分了8个bank,每个bank的基地址由nCGSx来选择,每个bank都接外设之后,就可以通过存储控制器来进行地址上的选择了。每个bank与外设的连接方式不一样,主要看外设是每次进行多少位的数据传输,如果是8位,这样CPU的地址线A0就可以直接接外设的A0,如果是16位,那么CPU的A1就该接到外设的A0,一次类推往后移位,具体原因见错位原因。nor fla转载 2015-09-03 15:53:48 · 619 阅读 · 0 评论 -
TQ2440 学习笔记—— 28、移植U-Boot【U-Boot 的配置过程】
(韦东山——嵌入式Linux 应用开发完全手册)1、U-Boot 工程简介U-Boot ,全称为Universal Boot loader, 即通用Bootloader。它的名字有两重含义:可以引导多种操作系统:Linux、NetBSD、VxWorks0、QNX、RTEMS、ARTOS、Lynx等; 支持多种架构的CPU :PowerPC、MIPS、x86、ARM、N原创 2015-09-05 07:45:42 · 692 阅读 · 0 评论 -
TQ2440 学习笔记—— 15、基础知识小结【汇编、vi】
一、用到的 ARM 汇编指令1、跳转指令:B :跳转指令;BL: 带返回的跳转指令;2、数据处理指令MOV: 数据传送指令;格式: MOV{条件}{S} 目的寄存器,源操作数MOV 指令可以完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器。其中S 选项决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR 中条件标志位的值原创 2015-09-03 08:50:18 · 502 阅读 · 0 评论 -
TQ2440 学习笔记—— 7、NOR Flash 和 NAND Flash
非易失闪速存储器Flash 具有速度快、成本低、密度大的特点。Flash 存储器主要有 NOR Flash 和 NAND Flash两种类型,总的来说, NOR 型比较适合存储程序代码,NAND 型则可用做大容量数据存储。1、NOR 型 Flash 存储器 NOR Flash 技术是由Intel 公司于1988年首先开发,它的出现彻底改变了原先由EPROM和EEPROM一统天原创 2015-08-26 10:26:41 · 1973 阅读 · 0 评论 -
TQ2440 学习笔记—— 16、volatile关键字
大多数计算机拥有一系列寄存器,其存取速度比计算机主存更快。好的编译程序能进行一种被称为“冗余装入和存储的删去” (redundant load and store removal)的优化,即编译程序会在程序中寻找并删去这样两类代码:一类是可以删去的从内存装入数据的指令,因为相应的数据已经被存放在寄存器中;另 一种是可以删去的将数据存入内存的指令,因为相应的数据在再次被改变之前可以一直保留在寄存器中转载 2015-08-30 20:24:06 · 690 阅读 · 0 评论