
S3C6410
文章平均质量分 61
glorin
这个作者很懒,什么都没留下…
展开
-
TE6410中openoc.CFG配置及调试
首先安装openocd,具体步骤请参考我前面的文章。然后就是配置openocd,以下是我的配置,仅供参考,也希望更多的人能够共同成长,一同分享:telnet_port 4444tcl_port 6666gdb_port 2331# GDB Setup#gdb_port 3333#gdb_breakpoint_override hard #gdb_memory_map enable#gdb_flash_program enable #--------------------------------------原创 2011-05-12 14:32:00 · 1502 阅读 · 0 评论 -
关于6410开发板Linux内存地址0Xc0008000的由来
查看6410数据手册可以看到,内存开始地址应该是0x50000000,而实际在real6410开发板使用过程中U-boot加载Linux内核都是加载到0xC0008000处开始运行,我猜测(还没有看代码来验证猜测)这个是因为Linux启动内核的地址为0xC0008000,而U-boot为了和Linux保持一致,故对内存也做了映射,方便用户使用。下面先以内核2.6.28为例来先来看一下Linux中这个内存地址的由来。 首先看启动代码代码arch/arm/kernel/head.S 29 #原创 2011-04-11 11:15:00 · 2643 阅读 · 0 评论 -
主机中C程序移植到arm开发板上
在主机上写的成程序,如果不写Makefile文件,那么编译文件呢?方法是使用gcc,由于是移植到arm开发板上,所以使用的是arm-linux-gcc。下面总结一下方法:1、将arm-linux-gcc的交叉编译文件解压到某个目录,比如/usr/local/arm下,生成目录如4.4.12、设置环境变量,#sudo gedit /etc/environment,再添加路径:/usr原创 2011-06-09 09:56:00 · 4431 阅读 · 0 评论 -
LINUX 使用tcgetattr函数与tcsetattr函数控制终端
为了便于通过程序来获得和修改终端参数,Linux还提供了tcgetattr函数和tcsetattr函数。tcgetattr用于获取终端的相关参数,而tcsetattr函数用于设置终端参数。这两个函数的具体信息如表6.2所示。表6.2 tcgetattr函数和tcsetattr函数 头文件函数形式int tcgetatt原创 2011-06-09 20:40:00 · 1403 阅读 · 0 评论 -
Eclipse+Jlink gdbSever调试mini6410 uboot
Eclipse+Jlink gdbSever调试mini6410 uboot由于mini6410出厂时硬件上不支持仿真器,需要进行修改,具体请看RVDS2.2 + jlink v8调试 mini6410(http://www.towoo.net/forum.php?mod=viewthread&tid=245&page=1&extra=#pid267)对于Eclipse图形化方法调试,网上已经有很多的文章,本文也是从中得到很多,只是把调试用到6410上而已. 把软件清单列一下:1、 Eclipse-SDK-转载 2011-04-18 10:54:00 · 10263 阅读 · 0 评论 -
S3C6410bootloarder移植
S3C6410移植日记之一应深圳友坚科技之邀,这几天要把djyos移植到他们的idea6410上。 现在发布的是si版本,是以单片机模式运行的,S3C6410这样强劲的cpu,运行si版本,就作为高速单片机用了,所有地址都是按照物理地址一一对应映射。cpu的状态也没有区分内核态和用户态。1、中断引擎最初的部分代码在IRQ态(还没决定是否使用FIQ)。2、中断引擎的大部分以及用户ISR运行在SVC态。3、所有其他代码运行在SYS态。 移植碰到的第一个问题就是烧录代码到flash的问题,由于廉价转载 2011-04-16 08:25:00 · 1879 阅读 · 0 评论 -
转:Keil MDK编译器与J-LINK使用
前几天进手了一个J-LINK,因为H-JTAG毕竟对MDK支持的不是太完美,比如用keil mdk上面的下载按钮烧录程序,不是直接就能烧录进去,而是弹出H-Flash软件,再手工选择文件烧录;而且用H_JTAG单步调试还容易莫名其妙的跑飞。好在J-LINK不是太贵(我是说国内仿制的),mdk又能比较完美的支持J-link,今天就将我使用mdk和J-link的情况做一下记录。原创 2011-06-09 19:36:00 · 3188 阅读 · 0 评论 -
转:S3C6410系统控制器
S3C6410系统控制器包括两部分:系统时钟控制和电源管理。一、系统时钟将产生系统所需的时钟信号。共有三个PLL(锁相环)。其中第一个(ARM PLL)为ARMCLK专用,第二个(MAIN PLL)用于HCLK和PCLK,第三个(EXTRA PLL)用于外围设备,特别是用于音频设备的时钟。每个外围设备的时钟信号可以用软件来enable和disable,用来降低功耗。1、ARMCLK-----> CPU2、HCLK------> AXI/Ahb 总线上的设备3、PCLK ------> Ap转载 2011-05-07 23:01:00 · 2204 阅读 · 0 评论 -
转:TQ6410学习笔记
玩ARM9已经很久了,但心里早就想玩玩新的开发板了,前两天TQ6410已入手,这里先感谢一下,天嵌科技给我提供的开发板及其配件,十分感谢,我也愿意用业余时间来学习,并与大家分享,为天嵌贡献我自己的一份力量。 说到TQ6410,感觉很亲切,和TQ2440差不多,拿到手里真高兴啊,感觉一下子充满了能量,想尽快把它弄明白,简单的看过了电路图后,我决定先从S3C6440的芯片手册下手,以前给别人查资料的时候,就下载过,可是始终没来得及好好看,这一打开,吓死人,先不说1300多页的内容,看完书签栏就感觉好多东西都没有转载 2011-05-07 23:06:00 · 2641 阅读 · 0 评论 -
openocd中部分问题解决
<br />安装openocd后,当执行openocd命令的时候,出现如下所示问题:<br />Open On-Chip Debugger 0.4.0 (2010-10-08-15:42)<br />Licensed under GNU GPL v2<br />For bug reports, read<br />http://openocd.berlios.de/doc/doxygen/bugs.html<br />trst_and_srst separate srst_gates_jtag trst_p原创 2011-05-09 23:11:00 · 5324 阅读 · 0 评论 -
JLINK烧写BIN文件到nand、norflash、SDRAM
1. 简要说明 JLink的调试功能、烧写Flash的功能都很强大,但是对于S3C2410、S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢;烧写Nand Flash只是从理论上能够达到,但是还没有人直接实现这点。 本文使用一个间接的方法来实现对S3C2410、S3C2440开发板的Nor、Nand Flash的烧写。原理为:JLink可以很方便地读写内存、启动程序,那么可以把一个特制的程序下载到开发板上的SDRAM去,并运行它,然后使用这个程序来烧写。 2.原创 2011-05-09 15:38:00 · 7873 阅读 · 4 评论 -
6410 SDRAM控制寄存器
我们在项目中更换了DRAM,所以需要重新配置S3C6410的DRAM控制器,结果发现S3C6410中的DRAM控制器还是挺复杂的。S3C6410支持两个DRAM片选,可以分别接最大256MB的内存,该处理器用的DRAM控制器是来自ARM的PrimeCell Dynamic Memory Controller(PL340)。只看S3C6410的Datasheet中的DRAM部分介绍是不够的,你还需要看PL340的技术参考文档,这个文档网上搜索一下就有了。想完全了解6410的DRAM控制器,必须两篇文档都看。我转载 2011-04-11 20:20:00 · 4139 阅读 · 0 评论 -
uboot内核入口点30008000的由来(50008000同理)
uboot没有虚拟内存管理,其程序直接访问物理地址,所以30008000是物理地址,跳到这个地址,则内核便可以直接运行起来,而内核运行起来后,会马上启动MMU,进行虚拟内存映射(几乎是马上,之前只是比对了CPU和ARCH两个参数),然后其程序访问的便是虚拟内存。你之所以有这个困惑,我想是因为没有弄明白uboot和内核其实是两个独立的映像,内核启动后uboot映像便不起作用了,而且其空间也会被内核初始化,这时kernel的stext实际上是由内核映射生成时的链接器来决定的,链接器指定c0008000这么一个不原创 2011-04-11 14:20:00 · 50394 阅读 · 0 评论 -
转:页表的建立
<br />arch/arm/mm/mmu.c:<br />void __init create_mapping(struct map_desc *md)<br />{<br /> unsigned long phys, addr, length, end;<br /> const struct mem_type *type;<br /> pgd_t *pgd;<br /> <br /> //只有虚拟地址处于用户空间(只能是中断向量表)<br /> //但又不是映射为0地址的中断向量转载 2011-05-15 17:07:00 · 1865 阅读 · 0 评论 -
关于6410入口地址的说明参考
ARM在ADS1.2调试的设置(RAM调试) 对于ARM来说调试程序有两种方式,1.将程序下载到RAM里仿真.2.下载到FLASH里仿真.下面我们首先说一下在RAM里放着的编译器设置及调试代理软件的使用方法. 首先,安装ADS12(555,没钱啊有钱就搞ULINK了在MDK在仿真了),然后去网上随便down一个,LEDTEST的44B0(我用的是44b0的开发板)例程来. 然在从网上下载个,H-JTAG或是BANYAN,ARM7都行这些软件叫做调试代理软件,有他们我们就可以用廉价转载 2011-05-16 16:09:00 · 1946 阅读 · 0 评论 -
转:S3C6410中断控制详解
Andrew Huangbluedrum@163.com 转载请注明作者及联络方式 如果你熟悉S3C2440的中断处理机制,可以发现S3C6410大大简化的中断编程处理。 相对于S3C2440详细而丰富的关于中断的解释,S3C6410的dataSheet明显是赶工之作,关于中断只有短短的15页,大量内容还是寄存器表格。 因此以下大部分我从S3C6410的测试程序和Application Note反推出来的。并且重新用ADS写程序验证了。 S3C6410的中断主要改进是. 增转载 2011-05-16 16:43:00 · 5778 阅读 · 7 评论 -
S3C6410和S3C2410的区别
s3c6400平台和s3c24XX平台而言,基本上没什么大的变化1.内存支持DDR内存一般都是128M,起始地址是0x50000000,其他寄存器地址与s3c24XX有很大的不同。2.时钟没有了EPLL换上了MPLL所以时钟方面要小心了。3.添加TV卡的支持,以及Keypad..的支持。4.FLASH方面一般都是MLC架构。继承了s3c24XX大部分优点,更适合做PDA的平台,据说IPHONE也用这个平台。缺点是:arm11一般的ICE不支持,所以要用AXD调试你的U-BOOT是不可能的。所以在调试方面有很原创 2011-04-08 22:35:00 · 3699 阅读 · 1 评论 -
我的第一个led实验--基于arm6410
花了一天的时间,终于成功把我的led给点亮了。程序参考《嵌入式linux完全开发手册》本程序是由crt0.S,led_on_c.c,Makefile三个文件组成。其中crt0.S文件是程序入口,完成设置指针功能,然后程序就设置到led_on_c.c文件中的main函数运行。以下为crt0.S程序@*************************************************************************** *** 2 @ File:crt0.S 3 @ 功能原创 2011-04-09 21:55:00 · 2287 阅读 · 5 评论 -
TE6410点亮key_led.bin
现在在学习ARM,用的是TE6410,昨天已经点亮LED了,今天继续想用按键来控制和点亮led,参照书上的程序修改了一下,开始不行,按键没有反应。后来仔细对照电路图,发现TE6410的led图与大多数的不一样,1、就是多了一个三极管,那么相应的0就是熄灭,1就是点亮。2、另外一个就是它的led分别由GPM0-3控制,而GPM口是4位的,与其他口不一样。于是修改程序,最后终于能按键控制led灯得点亮和熄灭,程序如下: 1 #define GPMCON (*(volatile unsigned lon原创 2011-04-10 15:12:00 · 1400 阅读 · 0 评论 -
S3C6410手册学习
一、存储空间S3c6410支持32位地址空间,并且这些空间被分为两部分,一部分作为“存储空间”,另一部分为“外设空间”。其中主存空间经由SPINE总线,地址空间为0x0000 0000 ~ 0x6FFF FFFF。主存空间被化分为四个区:1、 启动引导区(0x0000 0000 ~ 0x07FFF FFFF ,并没有实际映射)一般内部存储区或静态储存区会映射到此处,但注意,起始地址固定为0x0000 0000.2、 内部存储区用来访问内部的ROM或者内部的SRAM,以用来存储启动代码,即:steppin转载 2011-04-10 08:13:00 · 2215 阅读 · 0 评论 -
修改arm开发板IP地址
<br />要修改arm开发板的IP,如果是yaffs2文件,可以<br />1、首先要修改/etc/init.d/rcS文件,在/sbin/ifconfig lo 127.0.0.0<br />下添加一行/sbin/ifconfig eth0 192.168.1.20 up<br />注:192.168.1.20 只是举例,可以改成你想要修改的IP地址<br />本来这样修改之后就可以的,但是我发现仍然不行,使用ifconfig命令,发现开发板IP地址没有被更改过来。<br />后来无心插柳,发现还需要修原创 2011-05-31 20:42:00 · 10045 阅读 · 1 评论 -
虚拟机中ubuntu与arm开发之间FTP文件传输
1、首先启动虚拟机中ubuntu下的vsftp服务:sudo /etc/init.d/vsftpd restart开发板在启动时已经开启了ftp服务。2、在ubuntu中使用命令ftp 10.13.106.31输入用户名root输入密码(为空,直接按enter键)3、已经进入了ftp服务使用lcd命令设置ubuntu下文件接收位置ftp>lcd /home/glorin/work/linux4、文件传输使用cd命令进入开发板上要进行文件传输的目录使用get命令从开发板上将文件传输到ubuntu中设置的目录下原创 2011-05-31 21:33:00 · 3130 阅读 · 0 评论 -
转:arm linux QT 程序开发流程
转载自 zaigeLinux最终编辑 zaigeLinux<br />我们要开发一个简单的QT程序,然后下载到arm开发板上面。<br /> <br />这里需要介绍几个用到的软件:<br />x86-qtopia,这个是PC下的一个qtopia,他自带有个模拟器,可以模拟出arm开发板的样子出来。方便调试<br />arm-qtopia,这个主要是用来编译,因为要下载到开发板上,需要arm版的qtopia的库文件,编译后直接下载到开发板运行<br />以上两个qtopia都要事先编译好。<br /> <b转载 2011-06-01 16:37:00 · 2661 阅读 · 0 评论 -
转:S3C6410启动模式介绍
<br />作者:ARM-WinCE<br /> <br />目前的ARM处理器都支持多种启动模式,S3C6410和以前的Samsung的ARM处理器一样,通过外部管脚OM[4:0]的拉高拉低来决定是从哪个存储设备上启动。我认为S3C6410的User Manual并没有说的很清楚,所以我在最开始使用的时候,也对其启动模式有一些误解,下面就我个人的理解,介绍一下S3C6410的启动。<br /> <br />先读一下S3C6410 User Manual的第3章 System Controller,在123转载 2011-05-09 15:55:00 · 1466 阅读 · 0 评论