
S3C2440
文章平均质量分 83
niepangu
这个作者很懒,什么都没留下…
展开
-
一起学mini2440裸机开发(一)--第一个led灯点亮
版权声明:本文为博主原创文章,未经博主允许不得转载。 开发板:mini2440, NandFlash:K9F2G08U0B 256M大小,CPU:S3C2440A 。 开发环境:MDK4.11 仿真器:Jlink v8 这是我用csdn发表的第一个文章,之前使用过arm-linux-gcc裸机开发mini2440,但是很多函数什么的转载 2015-11-20 21:58:47 · 873 阅读 · 0 评论 -
试图搞懂MDK程序下载到Flash(一)--Nand Flash启动流程,加载域和运行域
NAND FLASH启动流程 在这里我先以TQ2440的启动代码分析,因为手上有本书,反正Nand Flash启动流程都是一样的对于mini2440和TQ2440来说。TQ2440的启动代码部分如下: ;**********************************************************************************转载 2015-11-21 11:02:51 · 1092 阅读 · 0 评论 -
试图搞懂MDK程序下载到flash(五)--使用MDK中的download直接下载到nor flash
也不知道怎么弄的,今天突然可以使用MDK中的Flash/Download将程序下载到Nor Flash了,像开发51一样方便。现在重新整理一下,将使用MDK中的download功能,将裸机程序下载到nor flash中的步骤写出来。 1、新建一个工程文档,并命名为test 2、编写并添加,源文件main.c uart.c uart.h转载 2015-11-21 11:06:51 · 2773 阅读 · 0 评论 -
ARM 常见问题
1.ARM: Advanced RISC Machine 高级精简指令集计算机2.RISC: Reduce Instruction set Computer 精简指令集,周期执行等长,固定指令长度3.哈佛与冯诺依谩的区别: CPU在一个周期内能否同时操作数据和指令instruction cache 和data cache分开为哈佛结构,没有分开为冯诺依谩结构 Note: ARM7三级转载 2015-11-21 11:01:32 · 748 阅读 · 0 评论 -
试图搞懂MDK程序下载到flash(二)--分散加载文件scatter
版权声明:本文为博主原创文章,未经博主允许不得转载。分散加载文件概念 对于分散加载文件的概念,在《ARM体系结构与编程》书第11章有明确介绍。 分散加载文件(即 scatter file,后缀为 .scf)是一个文本文件,通过编写一个分散加载文件来指定ARM连接器在生成映像文件时如何分配RO、RW、ZI等数据的存放地址。 如果不用转载 2015-11-21 11:03:36 · 2408 阅读 · 1 评论 -
试图搞懂MDK程序下载到Flash(四)--生成bin文件下载到Nor Flash
版权声明:本文为博主原创文章,未经博主允许不得转载。 喜讯啊!!下载到flash中的一种实现了啊!!!鸡冻了!终于可以脱机运行了,尽管是下载到了Nor Flash中运行,还没有下载到Nand Flash中运行,但是这也是一个进步了吧,下面详细介绍一下MDK编译的程序下载到Nor Flash运行的步骤。 1、编写程序 我的主程序功能是实现UART的转载 2015-11-21 11:05:47 · 849 阅读 · 0 评论 -
一起学mini2440裸机开发(十二)--mini2440的串口中断实验
这一节实现利用中断实现串口的中断功能,关于串口的原理我就不再讲述了,如果不明白,就请查看我的另一篇博客 http://blog.youkuaiyun.com/mybelief321/article/details/8931064 下面我还是贴出自己的实验代码,我上传到了网站,可以自行下载,下载后,打开工程文档,直接编译后,利用Flash/Dowmload功能下载到nor flash,关转载 2015-11-21 11:11:39 · 469 阅读 · 0 评论 -
tslib库的安装和基于触摸屏的应用程序开发基础
当完成触摸屏驱动移植后,输出的是逻辑坐标,无法直接与屏幕的物理左边对应,这个下一步的应用带来了麻烦。因此,需要移植tslib库实现逻辑坐标转换成物理坐标。由于tslib使用的是automake自动生成makefile ,因此需要首先安装一下工具:sudo apt-get install autoconfsudo apt-get install automakesudo apt-原创 2017-02-19 17:18:47 · 716 阅读 · 0 评论 -
S3C2440 LCD framebuffer 显示图像
先直接给出程序,过两天再写有关framebuffer的内容,主要怕忘了:代码参考了网上的画图代码,因为画斜线不是那么好画的:[cpp] view plain copy#include #include #include #include #include #include #includ转载 2017-02-09 21:44:06 · 575 阅读 · 0 评论 -
s3c2440裸机开发调试环境(MDK4.6,Jlink v8,mini2440)
用于arm裸机程序开发的IDE基本有 以下3个:MDK,IAR,还有ADS。具体它们的具体情况在这里我就不多说了,百度一下就明白了。由于之前开发c51,stm32时候都使用了MDK开发环境,而且MDK的界面确实看起来舒服多了,所以我选择了MDK作为我的s3c2440裸机开发的IDE。以下主要介绍一下如何使用MDK配合J-link来调试基于s3c2440的开发板。 首先,我们需要下载转载 2015-10-15 21:45:58 · 827 阅读 · 0 评论 -
移植Freetype 到S3C2440
1. 制作交叉编译工具tar xjf freetype-2.4.10.tar.bz2./configure --host=arm-linuxmakemake DESTDIR=$PWD/tmp install // ($PWD 代表当前目录) cd /tmp 会生成 usr 目录/*一般查找安装到那个库的方法*/(1)echo $PATH (2)find -n转载 2017-02-13 22:41:52 · 835 阅读 · 0 评论 -
ldr与adr指令、相对地址与绝对地址的理解
之前在阅读arm的汇编代码时,碰到了adr指令,查arm的指令手册,只说该指令是采用相对地址的,但这个相对地址应该怎么理解,却没有具体说明。之后在网上以adr指令为关键字进行搜索,也没有找到进一步的知识。结果,今天在搜索android资料的时候,意外的发现了adr指令与ldr指令的不同,一下子解决了心中的问题。以adr指令与ldr指令对比作为关键字,甚至可以搜到好几篇文章,实在是......转载 2015-11-21 11:00:50 · 664 阅读 · 0 评论 -
一起学mini2440裸机开发(四)--S3C2440定时器学习
S3C2440定时器原理概述 s3c2440有5个16位定时器,定时器0、1、2和3有脉冲宽度调制(PWM)功能,因此这4个定时器也被称为PWM定时器。定时器4是一个内部的定时器,没有外部输出引脚。 定时器的时钟源是PCLK,定时器工作所需频率并不等于PCLK,还要进一步将PCLK通过内部的分频器分频才能得到。这里也可以看出外部设备所需的工作频率不一定等转载 2015-11-20 22:03:49 · 551 阅读 · 0 评论 -
一起学mini2440裸机开发(十)--mini2440外部中断实验
我今天一整天都在试着将TQ2440的那种处理中断的方法(即安装中断向量表)移植到MDK中的mini2440,但是一直没成功,这种方法一直没成功,后来又想,还是先从最简单的开始吧,就是不利用中断向量表,直接像利用51单片机那样的中断一样使用它,但是也没成功。考虑到程序跑飞的可能性,将程序利用MDK中的Download功能下载到了Nor Flash中去,竟然行了,想了想原因,明白是怎么回事了。我原来是转载 2015-11-21 11:10:00 · 531 阅读 · 0 评论 -
一起学mini2440裸机开发(二)--MDK自带的S3C2440.s分析
版权声明:本文为博主原创文章,未经博主允许不得转载。 上一节,咱们在建立工程的时候,默认的是使用MDK自带的启动代码,这些启动代码到底做了什么工作呢?在这里我想探究一下,探究不全没什么事,能看懂个大概就行了。 我先申明一下,其实我并不是头一次学ARM裸机,我先前已经按照韦东山的使用arm-linux-gcc在linux下编译裸机程序的方法走了一遍了,用那个方法的话对转载 2015-11-20 22:01:48 · 717 阅读 · 0 评论 -
一起学mini2440裸机开发(五)--定时器0的基础实验
版权声明:本文为博主原创文章,未经博主允许不得转载。 本篇文章接上一篇关于定时器原理:http://blog.youkuaiyun.com/mybelief321/article/details/8916775实验前的准备 既然是关于定时器的实验,肯定要用到系统时钟,所以一定要保证系统时钟设置好,在这里需要的PCLK为50MHz。第二节分析MDK自带的S3C转载 2015-11-20 22:04:46 · 463 阅读 · 0 评论 -
一起学mini2440裸机开发(九)--ARM中断控制系统
ARM处理器程序的执行流程种类 ●正常执行:每执行一条ARM指令,程序计数器PC的值自动加4。这一过程描述了应用程序顺序执行的状态。 ●跳转执行:通过B、BL跳转执行,实现程序在一定范围内的跳转执行。这一过程描述了ARM处理器程序执行过程中的过程调用。 ●中断处理:在应用程序执行过程中,发生中断后,ARM处理器在执行完当前指令后,跳转到上述中断对应的中断处理程序处去执转载 2015-11-21 11:08:57 · 526 阅读 · 0 评论 -
堆(heap)和栈(stack)有什么区别?
简单的可以理解为: heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。 预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据转载 2015-11-20 22:00:06 · 433 阅读 · 0 评论 -
试图搞懂MDK程序下载到flash(三)--MDK配置选项Linker、Target、Debug的理解分析
在写这一节时,我还是想再重复一下自己写这文章的目的,我的目的就是为了实现将MDK编写的裸机程序可不可以脱机运行,也就是不用调试的方法,因为调试的话程序默认是在SRAM中运行的,掉电丢失。而要脱机运行,就得将程序编译后的文件下载到flash中,最好能是nand flash。如果要下载到nand flash,那么就要编译生成一个bin文件,而不是用axf文件。那么剩下的问题就是,怎么生成一个完整、正确转载 2015-11-21 11:04:48 · 1399 阅读 · 1 评论 -
试图搞懂MDK程序下载到flash(六)--DNW+supervivi+MDK下载到Nand Flash
版权声明:本文为博主原创文章,未经博主允许不得转载。 不容易啊,终于把 将MDK程序下载到我的mini2440开发板上的nand flash的方法找到了,我是利用韦东山老师的那套方法即利用DNW和supervivi下载到nand flash的。当然,只是方法之一,因为我能隐约的感觉到还可以使用MDK直接下载。下面我就将下载到nand flash的方法步骤完整的贴出来。转载 2015-11-21 11:07:48 · 685 阅读 · 0 评论 -
一起学mini2440裸机开发(十一)--mini2440定时器0中断实验
在前边讲解系统时钟和定时器时,曾给出一个实验,实现的功能是:使用定时器0的功能,使LED每秒钟闪烁一次,当时是使用查询方式实现的,现在使用中断方式实现上述功能。 下图为我的工程文件布局: 下面贴出我的代码,你也可以去这里下载, http://download.youkuaiyun.com/detail/mybelief321/5457371 下载下来之后,直转载 2015-11-21 11:10:52 · 520 阅读 · 0 评论 -
一起学mini2440裸机开发(十三)--ADC原理与实验
概述 S3C2440的CMOS模拟数字转换器ADC可以对8通道模拟输入信号进行循环检测,S3C2440的ADC和触摸屏公用一个ADC转换器,所以学习ADC也是学习触摸屏的基础。 S3C2440ADC的主要特性如下: ●分辨率:10位 ●最大转换速率:500KSPS ●微分线性度误差:±1.0 LSB ●积分线性度误转载 2015-11-21 11:13:06 · 488 阅读 · 0 评论 -
一起学mini2440裸机开发(三)--S3C2440时钟学习
版权声明:本文为博主原创文章,未经博主允许不得转载。前言 首先,我们应该知道一点,mini2440开发板在没有开启时钟前,整个开发板全靠一个12MHz的外部晶振提供频率来工作运行的,也就是说CPU、内存、UART、ADC等所有需要用到时钟频率的硬件都工作在12MHz下,而S3C2440A可以正常工作在400MHz下,可想而知两者速度相差会有多大了。如果CPU工作转载 2015-11-20 22:03:03 · 698 阅读 · 0 评论 -
一起学mini2440裸机开发(七)--UART高级实验,可变参函数
概述: 在C语言中,使用printf()进行格式化输出非常方便,例如,printf("%d\n",a)可以将a的值以十进制的格式输出,然后换行。printff()函数的原型为:int printf(const char *format,...),在函数参数中的...表示可变参数,即输入参数的个数不确定(例如,printf("%d\n",a)和printf("%d%d\n",a,b)都转载 2015-11-21 10:59:16 · 339 阅读 · 0 评论 -
TQ2440启动自动挂在YAFFS文件系统的方法
我以前的一篇博客利用nfs实现开发板与虚拟机ubuntu共享文件的方法实现的是手动挂在的文件系统,这个方法感觉也是挺方便的,但个人觉得这与其说是挂在文件系统,不如说是建立一个开发板和虚拟机里Ubuntu都能访问的节点,这个节点目录里不需要有YAFFS文件系统。网上看到有人说,开发板可以不烧写YAFFS文件系统,而直接挂载虚拟机里ubuntu中的文件系统,一直不知道怎么搞,折腾了原创 2017-02-20 22:17:21 · 583 阅读 · 0 评论