毕业设计论文-基于arm的gps定位信息显示器的软件设计内容摘要:
R1, [R0]。 LDR R0, =BCFG1 LDR R1, =((128)+(0x411)+(110)+(0x45)+(0x01))。 STR R1, [R0]。 LDR R0, =BCFG2。 LDR R1, =((028)+(0x611)+(110)+(0x65)+(0x01))。 STR R1, [R0] LDR R0, =BCFG3。 设置 BCFG3 寄存器 LDR R1,= ((128)+(0x511)+(110)+(0x55)+(0x01))。 STR R1, [R0] 本设计分别把 IS61LV25616AL、 SST39VF1601 分配到 BANK0、 BANK1,IS61LV25616AL、 SST39VF1601 都是 16 位的外部存储器 ,因此 MW(29~28)设为1,IS61LV25616AL 高速访问时间分别为 10ns、 90ns,以上的程序把对这两个外部存储器的读写配置成最快速度。 堆栈初始化 每个异常模式都有自身堆栈空间 ,异常处理程序通常将其它要使用的寄存器保存到这个堆栈。 以下为初始化堆栈的代码。 InitStack MOV R0, LR。 设置中断模式堆栈 MSR CPSR_c, 0xd2 LDR SP, StackIrq。 设置快速中断模式堆栈 MSR CPSR_c, 0xd1 LDR SP, StackFiq。 设置中止模式堆栈 MSR CPSR_c, 0xd7 LDR SP, StackAbt 广西工学院 2020 届毕业设计 基于 ARM 的 GPS 定位信息显示器的软件设计 9。 设置未定义模式堆栈 MSR CPSR_c, 0xdb LDR SP, StackUnd。 设置系统模式堆栈 MSR CPSR_c, 0xdf LDR SP, =StackUsr MOV PC, R0 StackIrq DCD IrqStackSpace + (IRQ_STACK_LEGTH 1)* 4 StackFiq DCD FiqStackSpace + (FIQ_STACK_LEGTH 1)* 4 StackAbt DCD AbtStackSpace + (ABT_STACK_LEGTH 1)* 4 StackUnd DCD UndtStackSpace + (UND_STACK_LEGTH 1)* 4 AREA MyStacks, DATA, NOINIT, ALIGN=2 IrqStackSpace SPACE IRQ_STACK_LEGTH * 4。 中断模式堆栈空间 FiqStackSpace SPACE FIQ_STACK_LEGTH * 4。 快速中断模式堆栈空间 AbtStackSpace SPACE ABT_STACK_LEGTH * 4。 中止义模式堆栈空间 UndtStackSpace SPACE UND_STACK_LEGTH * 4。 未定义模式堆栈 MSR 为写状态寄存器指令 ,该指令可以直接设置状态寄存器 CPSR 或 SPSR,上述代码的 MSR 指令都是设置 CPSR 的 控制域 psr[7:0],接着指令 LDR 是设置各个模式的专用的堆栈指针 SP的地址。 用伪操作 AREA 声明名为 MyStatus 的数据段 ,数据伪操作 SPACE为各个堆栈分配内存单元 ,并用 0初始化内存单元 ,从程序中可以看出中止模式、未定义模式堆栈空间都被初始化为 0,是因为在这些异常模式下都是执行一个死循环不需要保存数据。 由于 CPU 要进行模式切换即由管理模式切换到系统模式 ,不能由系统模式的 LR 正确返回子程序 ,所以在初始化堆栈程序的入口处保存链接寄存器 LR(模式自身的 LR(R14)用于保存子程序返回地址 )到R0,同时用 R0 返回子程序。 目标板初始化 根据目标板的外围电路设置存储器映射控制寄存器 MEMMAP、分频器寄存器VPB、 PLL 倍频值寄存器 PLLCFG[4:0]、 MAM 定时寄存器。 以下为初始化目标板代码。 ifdef __DEBUG MEMMAP = 0x3。 //remap endif 广西工学院 2020 届毕业设计 基于 ARM 的 GPS 定位信息显示器的软件设计 10 ifdef __OUT_CHIP MEMMAP = 0x3。 //remap endif ifdef __IN_CHIP MEMMAP = 0x1。 //remap endif /* 设置系统各部分时钟 */ PLLCON = 1。 if (Fpclk / (Fcclk / 4)) == 1 //fcclk==4 倍的 Fpclk VPBDIV = 0。 endif if (Fpclk / (Fcclk / 4)) == 2//fcclk==2 倍的 Fpclk VPBDIV = 2。 endif if (Fpclk / (Fcclk / 4)) == 4//fcclk==1 倍的 Fpclk VPBDIV = 1。 endif if (Fcco / Fcclk) == 2 PLLCFG = ((Fcclk / Fosc) 1) | (0 5)。 endif if (Fcco / Fcclk) == 4 PLLCFG = ((Fcclk / Fosc) 1) | (1 5)。 endif if (Fcco / Fcclk) == 8 PLLCFG = ((Fcclk / Fosc) 1) | (2 5)。 endif if (Fcco / Fcclk) == 16 PLLCFG = ((Fcclk / Fosc) 1) | (3 5)。 endif PLLFEED = 0xaa。 PLLFEED = 0x55。 while((PLLSTAT amp。 (1 10)) == 0)。 PLLCON = 3。 PLLFEED = 0xaa。 PLLFEED = 0x55。 广西工学院 2020 届毕业设计 基于 ARM 的 GPS 定位信息显示器的软件设计 11 MAMCR = 0。 if Fcclk 20200000 MAMTIM = 1。 else if Fcclk 40000000 MAMTIM = 2。 else MAMTIM = 3。 endif endif MAMCR = 2。 存储器映射控制寄存器的配置是根据用户使用何种方式启动 ARM,在调试前若选择 RelOutChip 则编译器会执行 ifdef __OUT_CHIP MEMMAP = 0x3。 //remap endif 把 MEMAP 设置为 0x3,即选择用户外部存储器模式 ,从 0x80000000 处开始执行程序, 这样 0x800000000x8000003C 异常向量表便映射 0x00000000 0x00 00003C。 同样的 ,若选择 RelInChip 则编译器会执行 ifdef __IN_CHIP MEMMAP = 0x1。 //remap endif 选择用户 Flash 模式 ,ARM 直接从 0x00000000 执行程序。 在本设计中使用 ,倍增器 值 M=4,所以处理器时钟( Fcclk)为。 为了使电流控制振荡器频率( Fcco)满足 156320MHz, 选 择 分频器的值 P=2,使得 Fcco=Fcclk2P= MHz。 取 VPB分频器的分频值为 1/4,所以外设时钟( Fpclk) = Fcclk/4=,为了使 PLLCON和 PLLCFG寄存器的更改生效 ,必须将正确的馈送序列写入 PLLFEED寄存器。 馈送序列是将值 0xAA 写入 PLLFEED, 接着将值 0x55写入 PLLFEED。 while((PLLSTAT amp。 (1 10)) == 0)。 是等待 PLL处于锁定状态 , MAM定时寄存器决定使用多少个 cclk周期访问 Flash存储器。 这样可调整 MAM时序使其匹配处理器操作频率 ,在本设置所使用的处理器时钟较快 ,把 MAMTIM配置为 3,即使用 3个处理器时钟访问外部 FLASH。 经过 了初始化中断向量表、配置外部总线、初始化各模式堆栈、设置系统各部分时钟、设置存储加速模块 ARM 后 , ARM 将进入用户主程序,执行用户代码。 广西工学院 2020 届毕业设计 基于 ARM 的 GPS 定位信息显示器的软件设计 12 移殖μ COSⅡ到 LPC2292 嵌入实时操作系统μ COSⅡ是一种占先式多任务操作系统。 可固化、可裁减、移植性好,具有良好的可靠性和稳定性。 它支持 64 个任务,具有信号量、消息邮箱、消息队列等多种任务间通信机制 ,图 说明了 181。 C/OSⅡ的结构以及它与硬件的关系。 图 C/OSⅡ的结构以及 它与硬件的关系 μ COSII 中要移植的部分见表 所示。 移植μ COSII 到一个新的体系机构上一般需要 3个文件: ( C 语言头文件)、 (C 程序源文件 )及 (汇编程序源文件 )。 由表 可以看出,移植μ COSII 需要在 包含几个类型的定义和几个常数的定义;在 和 中包含几个函数的定义和时钟节拍中断服务程序的代码。 实际上, Applition SoftWare μCOSⅡ (Processer Indentent Code) μCOSⅡ Configuration (Apptication Sepcific) μCOSⅡ Port (Processer Specific Code) 、 、 CPU Timer SoftWare HardWare HardWare 广西工学院 2020 届毕业设计 基于 ARM 的 GPS 定位信息显示器的软件设计 13 还有一个 文件需要关注,因为每一个应用都包含独特的 文件。 表 μ COSII中要移植的部分 移殖内容 类型 所属文件 描述 BOOLEAN、 INT8U INT8S、INT16U INT16S、 INT32U INT32S 、 FP32 、 FP64 数据类型 与编译器无关的数据类型 OS_STK 数据类型 堆栈数据类型 OS_ENTER_CRITICAL() 、OS_EXIT_CRITICAL() 宏 开关中断的代码 OS_STK_GROWTH 常量 定义堆栈增长方 向 OS_TASK_SW 函数 任务切换时执行的代码 OSTaskStkInit 函数 任务堆栈初始化函数 OSTaskStkInit() OSTaskCreateHook() OSTaskDelHook() OSTaskSwHook()。毕业设计论文-基于arm的gps定位信息显示器的软件设计
相关推荐
入温度设定值实现车厢温度的自动调节而在手动模式下可以直接改变混合风的开度实现车厢温度的人工调节用 8255 扩展并行 IO 接口构成的键盘和四位七段 LED 显示器接口电路 另外接在 P12 上的指示灯 L0 工作于混合风门的手动控制的模式下当其发光时表示风门处于最大开度位置 8255 和 A589C52 的硬件连接 8255 是一种可编程的并行 IO 接口芯片其内部含有三个 8 位数据端口
备无事故运行,在提升设备有可能出事故的各个重要环节上,设有各种检测、控制、保护装置。 为了提高生产效率,消除操作上的人为因素,在提升设备上配备全自动运行控制装置。 无论是煤矿还是金属非金属矿山,无论是国内还是国外,随着矿井开采深度的加大,提升的井筒越来越深,缠绕式提升机由于受缠绕层数的限制,已不能满足开采的需要,因而逐渐被多绳摩擦式提升机所代替。 提升设备电气控制技术发展迅速。 目前
itmap = ::CreateDIBSection(pDCGetSafeHdc(), (LPBITMAPINFO) m_lpBMPHdr, DIB_RGB_COLORS, (LPVOID*) amp。 m_lpDIBits, NULL, 0)。 位图读取过程中的调色板的创建和调用。 9 关于调色板的详细情况,本文不作详细介绍,只是对读取位图的过程中需要调用的对 调色板进行操作的相关函数进行说明
储器一般容量较小如果片内的只读存储器的容量不够则需用扩展片外的只读存储器片外最多可外扩至 64k 字节 4 中断系统 具有 5 个中断源 2 级中断优先权 5 定时器计数器 片内有 2 个 16 位的定时器计数器 具有四种工作方式 6 串行口 1 个全双工的串行口具有四 种工作方式可用来进行串行通讯扩展并行 IO 口甚至与多个单片机相连构成多机系统从而使单片机的功能更强且应用更广 7 P1 口
生在放学后,课间操都有过练习体育中考项目的经历。 表 4中学生对于体育中考项目练习的态度调查表 N=269 8 情况 学生人数(人) 百分比( %) 完全自愿 基本自愿 不自愿 合计 104 135 30 269 100 表 4 表明 接近 90%的学生是自愿去进行体育中考项目的练习的,这说明学生对于体育学科有了足够的重视。 不管学生是否是为了获得更多的分数而去进行体育锻炼
属性面板 在网页编辑窗口的下面还有一个面板,它是有名的“属性面板”,它在这个软件中起到举足轻重的作用。 属性面板顾名思义,就是显示,调整属性的面板,根据鼠标所选中对象的不同,“属性面板”在界面上也会有所差异,用户 可以分别对不同的对象进行调整。 第二章 网站制作实战 站点 创建站点 要制作一个网站,第一步操作都是一样的,就是要创造一个“站点”,这样可以使整个网站的脉络结构清晰地展现在面前