上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
摘要: 发现逛外国编程论坛好处大大的,比如我觉得非常不错的两个论坛:cplusplus 和 stack overflow ;今天给他们推荐,不料某哥儿竟然说这论坛不咋滴,人气这么低,回复好少。当时一时没有想到反驳的理由,今天挺晚了,又去某某论坛潜水,忽然发现,人多的很啊。恍然,原来是时差问题,原来给那哥子看的时候,地球那边正是清晨!!程序员早起的不多?西方人主导的论坛当然是按人家的作息时间来,看来以后问问题还要先算算时差 ^_^ 阅读全文
posted @ 2011-09-14 23:08 jialejiahi 阅读(207) 评论(0) 推荐(0) 编辑
摘要: key.c1#include"key.h" 2#include"uart.h" 3#include"s3c2410.h"17__irq void key_handler() 18{ 19 sendstring("key1 down!!!\n"); 20 21 EINTPEND |= 0x1<<19; 22 SRCPND |= 0x1<<5; 23 INTPND = INTPND; 24} 25 26void key_init() 27{ 28 INTMOD = 0x0; 29 INTMSK 阅读全文
posted @ 2011-09-11 17:02 jialejiahi 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 有点入门了,好吧,开始学点稍微复杂的,写一个单按键的程序。有人可能会笑,这个复杂?的确,只有一个按键是比较简单的,关键是我们要通过这个按键引出中断处理的部分,这个就比较核心了。中断是学习某个CPU最重要的部分之一。这次我们将使用realview提供的初始化文件,学会自己配置(以后还有自己写呢)。然后完成一次按键触发一次中断处理函数的功能。怎么判断有没有触发中断呢?我们不是写了串口的程序吗,中断一次由串口向PC机发送个数据好了。1 配置(s3c2410a.s 对应的configuration):等会儿截几个图吧,现在手头没有截图工具。2 s3c2410a.s 的几个片段,着重关注中断部分。159 阅读全文
posted @ 2011-09-11 17:00 jialejiahi 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 流水灯跑起来了,是不是有点小兴奋,一鼓作气再来玩玩其他的,用PC机写程序,出了问题可以用perror等打印出信息,给调试带来了很大方便,可是板子上没有显示屏,没法打印怎么办?这次就写一个通过串口向PC机串口调试终端打印信息的小程序,方便以后的调试。串口通信的基本知识就不说了哈,网上很多的,直接上代码:uart.c 1 #include "s3c2410.h" 2 3 void uart_sendchar(char a) 4 { 5 if(a == '\n'){ 6 while( !(UTRSTAT0 & (0x1<<2)) ); 7 UT 阅读全文
posted @ 2011-09-11 15:11 jialejiahi 阅读(966) 评论(0) 推荐(0) 编辑
摘要: 初学arm,写了几个练习小程序,记录在此,道行低微,贻笑大方包括: 流水灯, 单按键, pwm驱动蜂鸣器, 串口与PC通信开发板s3c2410, 开发环境realview+h-jtag废话少说,开始第一个程序,流水灯对于裸板程序开发的学习,就像hello world对于任何一门高级语言,新手第一课,呵呵。几个文件内容如下:led.c 1 #include "s3c2410.h" 2 #include "delay.h" 3 4 5 6 void myblink(void) 7 { 8 delay(0); 9 GPFCON = (GPFCON & 阅读全文
posted @ 2011-09-11 11:19 jialejiahi 阅读(1653) 评论(0) 推荐(0) 编辑
摘要: 注:此文章转载自网络1. 什么是watchdog?watchdog,中文名称叫做“看门狗”,全称watchdog timer,从字面上我们可以知道其实它属于一种定时器。然而它与我们平常所接触的定时器在作用上又有所不同。普通的定时器一般起记时作用,记时超时 (Timer Out)则引起一个中断,例如触发一个系统时钟中断。熟悉windows开发的朋友应该用过windows的Timer,windows Timer的作用与方才所讨论的定时器在功能上是相同的,只是windows Timer属于软件定时器,当windows Timer记时超时则引起App向System发送一条消息从而触发某个事件的发生。我 阅读全文
posted @ 2011-09-10 16:44 jialejiahi 阅读(415) 评论(0) 推荐(0) 编辑
摘要: clock部分比较容易,现在按照datasheet的思路梳理一下。一、对clock的基本认识第 七部分是“clock & power management”,总结如下:1 s3c2410的clock & power management模块包含三个部分:clock control、usb control、power control。现在的关注 点是clock control。2、s3c2410有两个pll(phase locked loop,锁相环,在 高频中学过,可以实现倍频,s3c2410的高频就是由此电路产生的)。其中一个是MPLL,M即为main,用来产生三种时钟信号: 阅读全文
posted @ 2011-09-10 15:58 jialejiahi 阅读(1196) 评论(0) 推荐(0) 编辑
摘要: 有问题,找男人。用man这么久了,以前从没注意到它有几个很有用的选项。-a 查看所有,-k 查找相关.以前只知道前面加数字是查找相应的区,却不知道它具体有哪些区,原来有这些:1 Executable programs or shell commands2 System calls (functions provided by the kernel)3 Library calls (functions within program libraries)4 Special files (usually found in /dev)5 File formats and conventions eg 阅读全文
posted @ 2011-09-09 23:07 jialejiahi 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 1 sdram的寻址:板上用的是现代的sdram芯片4M×16b×4Bank,即32MB,按理说应该有25根地址线,但芯片上只提供了13根地址线,2根bank选择线(BA0,BA1),两个片选信号,这怎么寻址啊?解答摘自:http://www.52rd.com/Blog/Archive_Thread.asp?SID=11206现就以HY57V561620片子说明吧。从芯片的数据手册中可以得知:4M×16b×4Bank,即共32MB,提供了13根地址线(行地址线RA0-RA12,列地址线CA0-CA8行列地址线共用),2根bank选择线(BA0,BA1)。 阅读全文
posted @ 2011-09-09 18:27 jialejiahi 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 1 swi中断的处理步骤:1) 进中断时pc->lr, cpsr->spsr, cpsr_mode置为特权模式,均由硬件完成。2)注册中断向量表由软件完成,可以用B指令,也可以用ldr跟dcd表的方式,在中断向量处放置一条跳转指令,跳到中断处理handler处。3)一级中断处理程序主要目的是根据arm或者thumb状态获取swi号,期间注意保存寄存器和返回。4)二级中断处理程序可以用C或者汇编,主要是一个分支结构,根据中断号做相应的事,可以用函数指针方式实现。-----应用程序中使用软中断时,可以使用__swi (仅armcc)关键字声明软中断函数,调用时自动获取中断号。2 基于s 阅读全文
posted @ 2011-09-08 02:12 jialejiahi 阅读(416) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页