
ARM
bird67
学会做人,学会健体,学会求知。字字金玉,诲我不倦!
展开
-
ARM下高效C编程
通过一定的风格来编写C程序,可以帮助C编译器生成执行速度更快的ARM代码。下面就是一些与性能相关的关键点: 1、对局部变量、函数参数和返回值要使用signed和unsigned int类型。这样可以避免类型转换,而且可高效地使用ARM的32位数据操作指令。 2、最高效的循环体形式是减计数到零(counts down to zero)的do-while循环。原创 2008-02-19 00:20:00 · 5301 阅读 · 1 评论 -
U-Boot在S3C2410上的移植
U-Boot是用于初始化目标板硬件,为嵌入式操作系统提供目标板硬件配置信息,完成嵌入式操作系统装载、引导和运行的固件程序。它能够将系统的软硬件紧密衔接在一起。S3C2410是三星公司的一款基于ARM920T核的嵌入式通用处理器。本文将详细介绍U-Boot在S3C2410 开发板上的移植与运行。 U-BOOT简介 U-Boot支持ARM、 PowerPC等多种架构的处理器,也支转载 2008-03-17 19:31:00 · 2160 阅读 · 0 评论 -
Linux-2.4.x 在 s3c44b0上的移植总结
采用立宇泰的uClinux-20040408-ARMSYS.patch补丁。需要准备的软件包:系统包:uClinux-dist-20040408.tar.gz下载地址:http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20040408.tar.gz补丁包:uClinux-20040408-ARMSYS.patch下载地址:转载 2008-03-17 19:46:00 · 1741 阅读 · 0 评论 -
$$A与$(A)或$A的区别-makefile基础
在makefile文件中,$$表示$,用来shell下引用变量,而$A或者$(A)则是Makefile的变量。如:如果想要在makefile中打印系统环境变量PATH的内容。debug: echo PATH:$$PATH原创 2008-03-17 20:43:00 · 1292 阅读 · 0 评论 -
Makefile学习教程
Makefile学习教程: 跟我一起写 Makefilehttp://www.stlchina.org/twiki/bin/view.pl/ScriptProgram/LearnMakefile作者:陈皓. 来源:http://www.youkuaiyun.com Makefile学习教程: 跟我一起写 Makefile 0 Makefile概述转载 2008-03-18 11:52:00 · 1242 阅读 · 1 评论 -
【推荐】ARM JTAG调试常见问题
本帖摘自http://hjtag.com/forum/viewthread.php?tid=45&extra=page%3D1,作者:twentyone这篇文章总结了刚接触ARM的网友们的常见问题,希望对快速掌握ARM调试有帮助。1 - 检测不到目标系统 调试前,请把目标板连接好,然后用调试软件检测目标系统。如果检测不到目标系统,请做转载 2008-03-27 19:22:00 · 1792 阅读 · 0 评论 -
【推荐】GNU make中文手册
由于文档比较大,很难粘帖到这里,所以向大家提供下载地址:http://download.youkuaiyun.com/source/397497转载 2008-03-27 19:39:00 · 1010 阅读 · 0 评论 -
linux下的sourceinsight
1)在Linux下的SourceInsight--CscopeUsing Cscope on large projects (example: the Linux kernel)Cscope can be a particularly useful tool if you need to wade into a large code base. You can save yoursel原创 2008-04-01 21:12:00 · 16003 阅读 · 1 评论 -
使用ADS1.2进行嵌入式软件开发
概述 嵌入式应用程序通常都是在样机环境下调试与开发的,这种环境与最终产品之间并不完全相同。因此,在系统调试阶段就考虑应用程序在最终目标硬件中的运行情况是非常重要的。 本文旨在讨论如何将一个开发/调试环境下的嵌入式应用程序转移到最终独立运行的目标系统中去,并提到了ARM ADS1.2开发工具包的一些功能特性及其在这个过程中所起到的作用。 使用ADS开发嵌入式程序时,转载 2008-04-06 21:25:00 · 1058 阅读 · 0 评论 -
ARM编译器的semihosting(半主机)
Semihosted环境(semihosting是针对ARM目标机的一种机制,它能够根据应用程序代码的输入/输出请求,与运行有调试功能的主机通讯。这种技术允许主机为通常没有输入和输出功能的目标硬件提供主机资源)在semlhosted环境下用来实现C库函数与目标相关的函数。可以在你的Application Code中使用printf等stand IO Function in C Libr转载 2008-04-06 23:40:00 · 4406 阅读 · 0 评论 -
uClinux内核移植相关代码分析
原作者:张洪耿 来源:www.linuxforum.net 本文通过整理之前研发的一个项目(ARM7TDMI + uCLinux),分析内核启动过程及需要修改的文件,以供内核移植者参考。整理过程中也同时参考了众多网友的帖子,在此谢过。由于整理过程匆忙,难免错误及讲解的不够清楚之处,请各位网友指正,这里提前谢过。本文分以下部分进行介绍: Bootlo转载 2008-04-08 18:53:00 · 998 阅读 · 0 评论 -
ARM汇编程序中的伪指令同义词总结
* MAPMAP 用于定义一个结构化的内存表的首地址。此时,内存表的位置计数器{VAR}设置为该地址值{VAR}为汇编器的内置变量。^与MAP 同义。伪指令格式:MAP expr,{base_register}其中:expr数字表达式或程序中的标号。当指令中没有base_register时,expr 即为结构化内存表的首地址。base_register一个寄存器。当指令中包转载 2008-04-08 19:19:00 · 2454 阅读 · 0 评论 -
GNU ARM汇编快速入门
前言: 以前用ARM的IDE工具,使用的是ARM标准的汇编语言。现在要使用GNU的工具,当然要了解一点GNU ARM汇编的不同之处。其实非常的简单,浏览一下文档然后再看看程序就完全可以搞定了,或者你硬着头皮看GNU ARM的汇编程序,用不了多少时间你就就可以无师自通了。个人比较健忘,还是把文档翻译了一下,算是给自己一个避免遗忘的理由吧。 ARM汇编语言源程序语句,一般由指令,伪操作,宏指令和伪指令转载 2008-04-08 19:08:00 · 1242 阅读 · 0 评论 -
arm-linux-gcc和arm-elf-gcc 区别
[转]http://hi.baidu.com/cb_blog/blog/item/3d349e8f8a203efc503d926e.html如果能用一句话说明白arm-linux-gcc和arm-elf-gcc的区别的话,如何来说呢?arm-linux-gcc是针对arm + linux的开发环境的,kernel使用的是linux,不是uclinux,arm是有硬件MMU的。而原创 2009-10-22 19:38:00 · 964 阅读 · 0 评论 -
arm-linux-gcc和arm-elf-gcc 区别
在基于ARM的嵌入式系统开发中,常常用到交叉编译的GCC工具链有两种:arm-linux-*和 arm-elf-*,两者区别主要在于使用不同的C库文件。arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用 uClibc/uC-libc或者使用REDHAT专门为嵌入式系统的开发的C库newlib.Glibc。uClibc/uC-libc以及 newlib都是C语言库文原创 2008-03-17 20:33:00 · 932 阅读 · 0 评论 -
ucos-II在44b0上的移植(解决不断重启问题)
前一段时间移植UCOS-II到三星的44b0处理器上(源代码使用配套光碟的代码),发现处理器不断重启,找错找了大概一个星期(汗一个),上网找了很久,才找到解决方案。下面说明一下问题所在以及解决方法: 在时钟节拍中断中进行任务切换时,需要用到一个零时存储单元 SAVED_LR 来存储返回地址 lr 。 而 SAVED_LR 原来在 OS_CPU_A.S 中是这样定义原创 2008-03-17 20:12:00 · 2463 阅读 · 1 评论 -
Windows与Vmware下的Linux文件共享方式总结
Windows与Vmware下的Linux文件共享方式总结 http://blog.youkuaiyun.com/shaohui shaohui_1983#163.comWindows和Linux间有很多文件共享的方式,这里我总结了一下。假设你的Host计算机是Windows,Guest是Linux哈。1.利用Samba这是我用得最多的方式2.在Linux下配置Apahce在Li转载 2008-03-17 20:39:00 · 798 阅读 · 0 评论 -
union在嵌入式编程中的3个妙用
在嵌入式系统中,一般不建议使用union结构,因为union结构中的各个成员之间存在相互影响,容易滋生问题。可见,union也是把双刃剑。懂得使用它的人可以做到“削铁如泥”,而不懂得使用它的人很可能会被其所伤。下面介绍的几种方法都是嵌入式系统常用的几种技巧。如果熟练掌握,将来定有所用。 1. all的使用 使用all的数据结构模型:typedef _my_union转载 2008-02-19 11:59:00 · 1122 阅读 · 0 评论 -
Linux系统移植
Linux系统移植目 录第一部分 前言...................................................................................................................................81 硬件环境...........................................转载 2008-02-21 12:32:00 · 9074 阅读 · 2 评论 -
uClinux内核移植相关代码分析
原作者:张洪耿 来源:www.linuxforum.net 本文通过整理之前研发的一个项目(ARM7TDMI + uCLinux),分析内核启动过程及需要修改的文件,以供内核移植者参考。整理过程中也同时参考了众多网友的帖子,在此谢过。由于整理过程匆忙,难免错误及讲解的不够清楚之处,请各位网友指正,这里提前谢过。本文分以下部分进行介绍: Bootloader及内原创 2008-02-20 16:26:00 · 673 阅读 · 0 评论 -
大端(Big Endian)与小端(Little Endian)详解
【大端(Big Endian)与小端(Little Endian)简介】Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。 对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:(1) 它的地址是多少?(2) 它的字节在内存中是如何组织的? 针对第一个问题,有这样的解释: 对于跨越多个字节的对象,一般它所占的字转载 2008-02-20 16:41:00 · 718 阅读 · 0 评论 -
Linux内核配置和编译过程详解
来源:Hoky Security Team [特络纳] 一、引言: 本文档的内容大部份内容都是从网上收集而来,然后配合一些新的截图(内核版本:V2.4.19)。在每一配置项后会有一个选择指南的部份,用来指导大家怎么样根据自己的情况来做相应的选择;还有在每一个大项和文档的最后会有一个经验谈,它是一些高手们在应对问题和处理特有硬件时的一些经验(这个还得靠各位)。文档最后会发到网上,到时会根据网友们的转载 2008-02-21 12:47:00 · 4923 阅读 · 0 评论 -
MMU简介
嵌入式系统中,存储系统差别很大,可包含多种类型的存储器件,如FLASH,SRAM,SDRAM,ROM等,这些不同类型的存储器件速度和宽度等各不相同;在访问存储单元时,可能采取平板式的地址映射机制对其操作,或需要使用虚拟地址对其进行读写;系统中,需引入存储保护机制,增强系统的安全性。为适应如此复杂的存储体系要求,ARM处理器中引入了存储管理单元来管理存储系统。§1.3.1 内存管理单元(MMU)介转载 2008-02-21 13:03:00 · 1220 阅读 · 0 评论 -
s3c2410 MMU (编辑完毕)
MMU,全称Memory Manage Unit, 中文名——存储器管理单元。许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容转载 2008-02-21 13:16:00 · 1090 阅读 · 0 评论 -
Bootloader(Vivi)源代码分析
Bootloader(Vivi)源代码分析 ----基于S3C2410处理器 作者:forkchen Email:chenjun@bupt-bcnl.com QQ:56155986 欢迎广大嵌入式之友多多交流转载 2008-02-21 13:47:00 · 2703 阅读 · 0 评论 -
Linux内核配置系统浅析
随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。众所周知,Linux转载 2008-02-22 09:53:00 · 779 阅读 · 0 评论 -
uClinux移植概述
1.建立开发环境 作为uClinux系统的移植和开发的主机最好使用Linux操作系统,如果选择Windows平台作为开发平台则需要Cygwin软件包的支持。在这里我们选用的开发平台是Fedora Core 2,内核版本为2.4.x。在进行uClinux的移植和开发之前,我们需要建立系统的交叉编译环境,因为做为主机我们使用的是IA32体系结构的处理器,而开发板我们才用的是ARM体系结构的处理转载 2008-02-20 16:20:00 · 1543 阅读 · 0 评论 -
uClinux下应用程序的开发
这个是在uclinux下如何添加应用程序的过程:为4510B添加自己程序,并编译/下载它们的过程 step 1: 创建一个自己的Application: 请首先认真阅读uClinux 2.4.x Kernel的目录内的Document,directry: ../Documentation/Adding-User-Apps-HOWTO.txt 通过阅读this document可以帮助您自己动转载 2008-02-22 11:27:00 · 924 阅读 · 0 评论 -
windows和linux下的终端仿真
终端仿真转载 2008-02-28 10:53:00 · 7738 阅读 · 0 评论 -
linux超级终端minicom的使用方法
===== 一.Minicom介绍 ===== Linux下的Minicom的功能与Windows下的超级终端功能相似,可以通过串口控制外部的硬件 设备.适于在linux通过超级终端对嵌入式设备行管理.同样也可以使用minicom对外置Modem 进行控制. ===== 二.Minicom的安装 ===== ==== 1.rpm包方式 ====原创 2008-02-28 11:05:00 · 215399 阅读 · 9 评论 -
u-boot 在s3c44b0移植总结
我在移植过程主要参考以下文章,在此对其作者表示感谢。u-boot移植44b0的详细步骤 http://blog.chinaunix.net/u1/36543/showart_290665.htmlU-Boot移植到S3C44B0X开发板的过程http://www.linuxforum.net/forum/gshowflat.php?Board=embedded&Number=65转载 2008-03-17 19:39:00 · 1827 阅读 · 0 评论 -
ARM(RISC)和x86(CISC)的技术差异
本文摘自:https://www.cnblogs.com/bitter/p/4023176.htmlRISC和CISC,这一对冤家,从诞生之日开始就处在不停的纠缠之中。直到今天,两者经过多年的发展后,都在各自领域打开了一片天地,并且相互渗透。RISC专注高性能、高性能功耗比、小体积以及移动设备领域,CISC专注桌面、高性能和民用市场。现在,RISC的代表是ARM,而CISC的代表则是我们耳熟能...转载 2019-04-09 09:34:34 · 1455 阅读 · 0 评论