摘要:undefined reference to '__ctype_b'
阅读全文
随笔分类 - ARM 编程
摘要:最近在做一个移植UCOS-II的任务,遇到了semihosting的问题,现在把这个问题的解决办法总结一下。 Step 1 : 用#pragma import(__use_no_semihosting_swi)保证用户程序不调用semihostSWI; 此后,link时会有 Error :L6200E:Symbol __semihosting_swi_guard multiply defined ...
阅读全文
摘要:与传统的4/8位单片机相比,ARM的性能和处理能力当然是遥遥领先的,但与之相应,ARM的系统设计复杂度和难度,较之传统的设计方法也大大提升了。本文旨在通过讨论系统程序设计中的几个基本方面,来说明基于ARM的嵌入式系统程序开发的一些特点,并提出和解决了一些常见的问题。 本文分成几个相对独立的专题陆续刊载。 (一) 嵌入式程序开发基本概念 (二) 系统的初始化过程 (三) 如何满足嵌入式系统的...
阅读全文
摘要:clock部分比较容易,现在按照datasheet的思路梳理一下。 一、对clock的基本认识 第七部分是“clock & power management”,总结如下: 1 s3c2410的clock & power management模块包含三个部分:clock control、usb control、power control。现在的关注点是cl...
阅读全文
摘要:在进入正题之前,我想先把ARM920T的异常向量表(Exception Vectors)做一个简短的介绍。:]ARM920T的异常向量表有两种存放方式,一种是低端存放(从0x00000000处开始存放),另一种是高端存放(从0xfff000000处开始存放)。关于为什么要分两种方式进行存放这点我将在介绍MMU的文章中进行说明,本文采用低端模式。ARM920T能处理有8个异常,他们分别是:Reset...
阅读全文
摘要:ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要...
阅读全文
摘要:一、利用串口通信文件传输在目标机系统启动完成后,调出minicom,按ctrl+A然后按Z,菜单中选send files,即S快捷键,选zmodem协议,然后选择需要传输的文件,一般传到目标机后的目录是在/root下二、网络文件系统nfs传输1、主机192.168.0.167在主机目录/mnt目录下建nfs ,并修改/etc/exports文件,增加如下内容:/mnt/nfs * (rw,no_r...
阅读全文
摘要: 本文旨在将 arm-linux 在 skyeye 上搭建起来,并在 arm-linux 上能成功 mount
NFS 为目标, 最终我们能在 arm-linux 里运行我们自己的应用程序. 其实在 skyeye 上移
植 arm-linux 并非难事,网上也有不少资料, 只是大都遗漏细节, 以致细微之处卡壳,所以本
文力求详实清析, 希望能对大家有点用处。
阅读全文
摘要:根文件系的组成:目录、Shell、库、脚本
阅读全文
摘要:如何启用 MMU, 并实现虚拟地址到物理地址映射正是这次实验的目的。呵呵,你也许已经迫不及待...
那现在我们就去探个究竟!
阅读全文
摘要:1 ARM GNU 汇编伪指令简介 (1)abort .abort 停止汇编 (2)align .align absexpr1,absexpr2 以某种对齐方式,在未使用的存储区域填充值. 第一个值表示对齐方式,4, 8,16或 32. 第二个表达式值表示填充的值 (3)if...else...endif .if .else .endif: 支持条件预编译 (4)include .include ...
阅读全文
摘要:FS2410 (核心板为三星 s3c2410)开发板上实现了中断,包括响应时钟 Timer0, 响应按键,并实现了串口通信,能把任何数据通过 UART0 发送到 PC 机上的超级终端上进行显示,这样也便于调试。前两天又实现了 MMU 的启用代码,欢呼雀跃啊..., 可就在这个时候问题来了... MMU 启用后中断不能响应了!, start.S 的代码片段如下(arm-linux-gcc 汇编格式)...
阅读全文
摘要:中断服务程序在操作系统中无疑占有非常重要的地位,编写中断程序不仅要会运用底层的
汇编语言,还要了解 ARM 的体系架构。那这一节我们就通过中断编程来响应 FS2410开发板
上的 16 个按键,实现依次按下16个键时,D9~D12 四个 Led 从 0~15 进行计数,并通
过上个实验实现的 uart_printf 向串口发送数据 Kn is pressed!。
阅读全文
摘要:到目前为止我们所编写的程序都是直接烧到裸板(FS2410)上运行,没有借助操作系统,
如果哪个环节出错了,就只能揣测代码的逻辑,无法借助 GDB 调试,这无形增加了编写代
码的难度,如果任意时刻我们能把某个变量的值打印出来多好啊...呵呵, 你也许有同样的
困惑,上一个实验我们对 UART 串口编程实现了对超级终端接收和发送数据,也许我们可以
编写一个类似 C 语言里的 printf,作用就是向上位机的超级终端发送我们指定的任何数据。
怀着这样美好的愿望,随我一起踏上征程吧。
阅读全文
摘要: 串口通信我们并不陌生,我们经常用串口来进行数据传输,可并不清楚它是如何工作
的。那这一节我们就来揭开 ARM S3c2410 UART(Universal Asynchronous Receiver and
Transmitter) 串口通信的神秘面纱
阅读全文
摘要:I. Programmer's Model 1. ARM instruction set Branch instructions Data-processing instructions Status register transfer instructions Load and store instructions Coprocessor instructions Exception-gener...
阅读全文
摘要: 通过将 Nand Flash 前 4K 代码搬移到 SDRAM 中,了解如何初始化并使用 ARM 的内存,为编写 ARM bootloader 和搬移内核到内存作准备。
阅读全文
摘要: 通过将 Nand Flash 前 4K 代码搬移到 SDRAM 中,了解如何初始化并使用 ARM 的内存,为编写 ARM bootloader 和搬移内核到内存作准备。
阅读全文
摘要:通过实现FS2410板子上的D9、D10、D11、D12四个发光二极管的循环点亮,了解ARM嵌入式开发的基本流程。
阅读全文


浙公网安备 33010602011771号