我们还是使用JZ2440学习笔记之第一个裸机程序(Keil-MDK)里面的程序,但是把延时拿掉,要不然单步的时候一直在delay里面: int main(void) { // Set GPF4/5/6 as output. GPFCON = GPF4_out|GPF5_out|GPF6_out; // Pull down will light led, so pull up here. GPFDAT = 0xFF; ){ // Delay(); GPFDAT = 0xEF; // 1110,11…
Android:日常学习笔记(2)——分析第一个Android应用程序 Android项目结构 整体目录结构分析 说明: 除了APP目录外,其他目录都是自动生成的.APP目录的下的内容才是我们的工作重点. APP目录结构分析 项目如何运行 程序默认运行效果 说明: 程序的默认运行效果就是不写一行代码,直接部署到模拟器上的运行效果. 定义主活动 打开AndroidManifest.XML中,我们可以找到下面这段代码: <activity android:name=".MainActivity…
CPU:S3C2440, ARM920T, Internal 4KB RAM, Support boot from NAND flash, 128MB for each bank. JZ2440:Memory接到Bank6,所以内存地址从0x3000,0000(128MBx6)开始. Nand 256M 8bit,SDRAM 64M 32bit,Nor 2M 16bit. Keil-MDK5已经不支持ARM9,需要安装额外的pack支持:http://www2.keil.com/mdk5/leg…
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 我们继续在Database项目的基础上继续开发,通过内容提供器来给它加入外部访问接口.首先将 MyDatabaseHelper 中使用 Toast弹出创建数据库成功的提示去除掉,因为跨程序访问时我们不能直接使用 Toast. 一.添加一个 DatabaseProvider 类: public class DatabaseProvider extends ContentProvider { public static…
一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大于或等于右边结果为左边除以右边的余数,如,5%5=0,7%2=1 面试题:100%3.0的结果为1.0 应该注意的是:当运算负数的取余运算时,结果的符号和被取余数一致. 如: System.out.println(-5%2); System.out.println(-5%-2); System.ou…
不看笔记,长时间不用自己都忘了,还是得经常看看笔记啊. 一个简单的shell程序 shell结构 1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建shell程序的步骤 第一步:创建一个包含命令和控制结构的文件 第二步:修改这个文件的权限使它可以执行. 使用chmod u+x 第三步:执行shell sh /test/example.sh   Shell变量 变量:是shell传递数据的一种方法,用来代表每个取值的符号名 shell有两类变量:临时变量和永久变量 临时变量是…
大规模应用程序的特殊要求包括: 在独立开发的子系统之间协同处理错误:异常处理 使用各种库(可能包含独立开发的库)进行协同开发:命名空间 对比较复杂的应用概念建模:多重继承 18.1 异常处理 异常处理机制允许程序在运行时对出现的问题进行通信并处理 异常使得可将问题的检测和解决分离,一部分用于检测问题的出现,另一部分用于解决问题 18.1.1 抛出异常 通过抛出一条表达式来引发一个异常,被抛出表达式的类型和当前的调用链共同决定哪段处理代码被用于处理该异常. 被选中的处理代码是当前调用链中与抛出对象…
.extern main .text .global _start _start: @****************************************************************************** @ 中断向量 @****************************************************************************** b Reset b HandleUndef @ 0x04: 未定义指令中止模式的向…
通过OM[1:0]选择启动的设备: OM[1:0]=00,地址0对应的是Internal 4K RAM,且Nand的前4K会被复制到这里,得到执行: OM[1:0]=01,地址0对应的是Nor Flash(Bank0),Nor Flash里面的代码得到执行. 内存设备: SDRAM:Bank6(DATA 32bit,地址线从ADDR2开始) 网卡:Bank4(ADDR2(CMD)用来决定总线上传输的是地址还是数据):0x2000_0000传输的是地址(Index),0x2000_0004传输的是…
如果在Linux环境下用arm-linux-gcc来编译arm程序,需要编写链接文件lds: 1. 运行地址=链接地址,表示代码在SDRAM中执行的地址,如果程序中有对某部分代码执行过搬运,需要在lds文件中设置对应的链接地址,比如下图中的0x30000000. 2. 加载地址=存储地址,表示代码在Nand中的地址,如实例2中的4096. 链接文件实例1: 链接文件实例2: 程序烧写到Nand的0地址位置(main.o是从4k位置开始,见下图).开机后,Nand的前4K复制到Internal 4…