一.arm-9 TQ2440 key.h #ifndef __KEY_H__ #define __KEY_H__ #define GPFCON (*(volatile unsigned long *)0x56000050) #define GPFDAT (*(volatile unsigned long *)0x56000054) extern void key_init(void); extern int key1(void); extern int key2(void); extern in…
在使用arm芯片进行裸机开发的时候,很多时候都需要内存管理的功能,我们可以使用自己写的内存管理程序,也可以直接使用标准库,不过我一般比较喜欢标准库,速度快,今天就来说说在C语言环境下怎么样进行内存的动态使用 首先,应该初始化C堆,初始化代码如下 #include "malloc.h" #pragma import (__use_realtime_heap) //这个函数在rt_heap.h中声明,需要用户自己去实现,返回任意值 unsigned __rt_heap_extend(uns…
一.在使用S5PV210的串口发送和接收的时候,首先要对S5PV210的串口进行配置,我们使用轮询方式时的配置有哪些? 1.配置GPIO,使对应管脚作为串口的发送和接收管脚 GPA0 0 1 管脚 2 3 可以配置,但我们没有使用 GPA0CON寄存器[7:4][3:0] 0x22 GPA0PUD寄存器[3:0] 0 禁止上下拉电阻2.配置串口单元本身寄存器 ULCON0 0xE2900000 数据位:8位 停止位:1位 校验位:无 使用的正模式,非红外.3.UCON0 0xE2900004 串…
一.交叉工具链 嵌入式Linux开发采用交叉开发,简单来说就是在宿主机(PC机)上面编译出能够在其他硬件平台上面运行的程序.在这个过程中,需要用到许多的交叉工具,这些交叉工具的集合就叫做交叉工具链.下面列举嵌入式开发中常用的交叉工具. 1.交叉编译器    arm-linux-gcc 交叉编译器的命名十分有特色,前面两个字符串表明了他们可以使用的平台.例如:arm-linux-gcc说明用来编译出用于ARM平台的程序. 用法:arm-linux-gcc hello.c -o hello 2.交叉…
从.net到delplhi 从windows到Linxu 未来有多远? 如何突破自己? 什么是自己? 我从哪里来,要到哪里去? 世界是什么? 是世选择了我,还是我选择了世界? 怎么才能够完成蜕变? 去他妈的,干吧!!! ARM可执行文件格式 ELF:可执行文件格式 AFX:ARM的调试文件 BIN:可以写到flash或者RAM中直接运行   加载时地址就是程序放置的地址,运行地址就是程序定位的绝对地址,也即在编译连接时定位的地址.如果程序是在flash里运行,则运行地址和加载地址是相同的.如果程…
前言 电路原理在文章http://www.cnblogs.com/lknlfy/p/3583806.html中已经说明,两个LED的原理图是一样的.要使两个LED交替闪烁,只需要在点亮蓝色LED,熄灭绿色LED之后延时一段时间,然后再点亮绿色LED,熄灭蓝色LED,延时一段时间,如此不断循环即可,过程如图1所示. 图1 LED交替闪烁流程图 一.目的 通过编写裸机程序,使板载的两个LED交替闪烁. 二.源代码说明 程序比较简单,已给出详细注释,直接看代码好了,如下所示: /* * (C) Cop…
文章目录 一.裸机开发步骤简介 1.在X86架构的Windows系统中 2.在X86架构的Ubuntu系统中 3.ARM裸机开发 二.soucre insight使用 1.sourec insight介绍 2.操作流程 Ⅰ.增加文件类型 Ⅱ.创建工程 Ⅲ.编译工程 Ⅳ.设置中文字体 Ⅴ.界面说明 Ⅵ.小技巧 一.裸机开发步骤简介 1.在X86架构的Windows系统中 1.建立工程 2.编辑源代码 3.编译(VC6.0) 4.运行 2.在X86架构的Ubuntu系统中 1.编辑源代码(vim)…
http://blog.csdn.net/sybifei/article/details/45008745 [这篇文章有问题, 仅供参考] http://blog.csdn.net/define_us/article/details/50114127 [这篇文章C#调用可以,但VC调用存在问题,仅供参考] Step by Step: 基于MFC下的COM组件开发-Helloworld 原创 2015年04月12日 11:48:03 标签: mfc / com组件 / activex / hell…
(一)hello world  一.initramfs是什么  在2.6版本的linux内核中,都包含一个压缩过的cpio格式 的打包文件.当内核启动时,会从这个打包文件中导出文件到内核的rootfs文件系统,然后内核检查rootfs中是否包含有init文件,如果有则执行 它,作为PID为1的第一个进程.这个init进程负责启动系统后续的工作,包括定位.挂载"真正的"根文件系统设备(如果有的话).如果内核没有在 rootfs中找到init文件,则内核会按以前版本的方式定位.挂载根分区,…
Step By Step(Lua编译执行与错误) 1. 编译:    Lua中提供了dofile函数,它是一种内置的操作,用于运行Lua代码块.但实际上dofile只是一个辅助函数,loadfile才是真正的核心函数.相比于dofile,loadfile只是从指定的文件中加载Lua代码块,然后编译这段代码块,如果有编译错误,就返回nil,同时给出错误信息,但是在编译成功后并不真正的执行这段代码块.因此,我们可以将dofile实现为: 1 function dofile(filename)2 lo…