上一页 1 ··· 6 7 8 9 10 11 下一页
摘要: module pwm(CLOCK,RESET,LED);input CLOCK,RESET;output reg [3:0] LED;parameter T1s=32'd1_00000;reg [31:0] t,count;reg [31:0] w;///*always @(posedge CLOCK or negedge RESET)if(!RESET)begincount<=0;t<=0;LED[0]<=0;endelse if(count==T1s)begincount<=0;t<=t+1000;if(t==T1s)t<=0;endelsebe 阅读全文
posted @ 2013-03-31 21:20 luxiaolai 阅读(750) 评论(0) 推荐(0) 编辑
摘要: 对于频率测量,有很多的测试方法,这里我们介绍一种采用基准频率计数的方法测试频率。该测试方法非常容易理解。首先设计两个计数器BASE_CLK_CNT和CLK_TST_CNT,基准时钟BASE_CLK作为计数器BASE_CLK_CNT的输入时钟,被测信号CLK_TST作为CLK_TST_CNT的输入时钟。两个计数器同时开始计数,当CLK_TST_CNT计数到n时计数结束,这个时候根据BASE_CLK_CNT的值m和BASE_CLK的频率,可以计算出CLK_TST的频率。在上述的测频方法中,两个计数器同时开始计数是整个设计的难点。由于CLK_TST和BASE_CLK是两个异步信号,如果不对信号做特定 阅读全文
posted @ 2013-03-31 10:25 luxiaolai 阅读(2539) 评论(0) 推荐(0) 编辑
摘要: 一、首先是U盘得支持。1、vi arch/arm/mach-s3c64xx/mach-mini6410.c124行增加/* Initializes OTG Phy. to output 48M clock */void s3c_otg_phy_config(int enable) {u32 val;if (enable) {__raw_writel(0x0, S3C_PHYPWR); /* Power up */val = __raw_readl(S3C_PHYCLK);val &= ~S3C_PHYCLK_CLKSEL_MASK;__raw_writel(val, S3C_PHYCL 阅读全文
posted @ 2013-03-29 18:25 luxiaolai 阅读(789) 评论(0) 推荐(0) 编辑
摘要: 一、环境1、开发板Tiny6410NAND:2GRAM:256MMLC2、操作系统Ubuntu103、交叉工具编译链arm-linux-gcc-4.5.1二、下载内核源码包linux-2.6.38三、解压内核tar–jxvflinux-2.6.38.tar.bz2我解压的的路径是:四、NANDFLASH移植1、修改MakefilevimMakefile将约191行改为:ARCH?=armCROSS_COMPILE?=arm-linux-2、cparch/arm/configs/s3c6400_defconfig.config忽略这一步的话,后面会找不到SystemType3、makemenuc 阅读全文
posted @ 2013-03-27 18:05 luxiaolai 阅读(1289) 评论(0) 推荐(0) 编辑
摘要: 安装qtcreator后一切正常,但是每次打开过过*.ui文件后,右键,所有菜单都变成空白了,菜单都在,只是上面的字都没显示。解决方法:删除 /usr/lib/下的kde3/和kde4/ 使用 rm -rf /usr/lib/kde3 /usr/lib/kde4 重新打开qtcreat 即可。 阅读全文
posted @ 2013-03-17 21:49 luxiaolai 阅读(469) 评论(0) 推荐(0) 编辑
摘要: module pwm (clk, write_data, cs, write_n, addr, clr_n, read_data, pwm_out); input clk; input [31:0] write_data; input cs; input write_n; input addr; input clr_n; output [31:0] read_data; output pwm_out; // 定义period和pulse_width寄存器的内容 reg [31:0] period;reg [31:0] pulse_width;reg [31:0] counter;reg off 阅读全文
posted @ 2013-03-11 20:21 luxiaolai 阅读(5463) 评论(0) 推荐(0) 编辑
摘要: 使用定时器的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。要达到这一目的,一般有两个常见的比较有效的方法。一个是用linux内部的三个定时器,另一个是用sleep, usleep函数让进程睡眠一段时间,其实,还有一个方法,那就是用gettimeofday, difftime等自己来计算时间间隔,然后时间到了就执行某一任务,但是这种方法效率低,所以不常用。首先来看看linux操作系统为每一个进程提供的3个内部计时器。ITIMER_REAL: 给一个指定的时间间隔,按照实际的时间来减少这个计数,当时间间隔为0的时候发出SIGALRM信号ITIMER_VIRTUAL: 阅读全文
posted @ 2013-02-26 20:14 luxiaolai 阅读(201) 评论(0) 推荐(0) 编辑
摘要: luxiaolai UID: 55425最后登录: 2013-02-03登录IP: 27.128.21.143退出 设置 短消息 本站淘宝店铺无图版会员列表统计排行论坛帮助网站首页 高级 论坛友善官网软件下载常见问题客服中心A8来啦!淘宝店铺等级:新手上路, 帖子:22, 我的主题, 我的回复更多黄天一笑 编辑热门版块: 友善之臂最新动态友善之臂官方客服中心开发板实战手册及教程Qtopia交流区应用方案和定制开发Linux技术交流区默认风格用户中心首页编辑个人资料查看个人资料好友列表用户权限查看帖子操作记录积分管理积分转换特殊组购买收藏夹我的主题基本统计信息到访IP统计管理团队管理... 阅读全文
posted @ 2013-02-03 21:01 luxiaolai 阅读(1937) 评论(0) 推荐(0) 编辑
摘要: 在arch/arm/mach-s3c64XX/mach-smdk6410.c中中增加如下代码:static void cs_set_level(unsigned line_id, int lvl) { gpio_direction_output(line_id, lvl);};static struct s3c64xx_spi_csinfo s3c64xx_spi0_csinfo = { .fb_delay=100, .line=S3C64XX_GPC(3), .set_level=cs_set_level,};static struct spi_board_info s3c6410_spi0 阅读全文
posted @ 2013-02-03 20:29 luxiaolai 阅读(1208) 评论(1) 推荐(0) 编辑
摘要: 内核版本:linux-2.6.29主要的几个结构platform_device platform_driver s3c24xx_spi spi_master spi_bitbang spi_device spi_driver spidev_data s3c_spi_info第一步:注册platform_device在arch/arm/mach-s3c2410/mach-qt2410.c 中注册platform_device ,其中s3c2410_spi_info 作为platform_device.private_data. platform_device.name 为"s3c241 阅读全文
posted @ 2013-02-03 20:27 luxiaolai 阅读(256) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页