推荐阅读最新更新时间:2024-11-10 17:50
ucosii在AVR系列单片机移植中出现的一个BT的问题
今天想把ucosii移植到手头的一块AVR128芯片上。 只要有移植经验,其它的问题都比较好解决。但是ICC编译器对于函数指针的处理方式特别怪异,让我大吃苦头,纠结调试了半天!!! 症状:编译通过后,运行时卡死。 经在AVR Studio中JTAG硬仿真,发现任务调度不了。最终目光聚焦在移植代码里函数中的一行: tmp = *(INT16U const *)task; /* (1) ICC compiler handles function pointers indirectly! */ 这是取得函数指针指向的函数地址。 一般编译器下直接写成 tmp = task 就可以了,但是“ICC compile
[单片机]
用jlink在mini2440上烧写uboot
首先,附上我安装jlink驱动: http://download.csdn.net/detail/zzmno1/3776716#comment 以及我使用的uboot.bin文件下载地址: http://blog.chinaunix.net/uid-20543672-id-94368.html 安装成功后有俩个东东,分别是jlink和jflash。 我用j-link连接的时候没有成功,而在j-flash下安装成功。 不过在jflash下连接成功是有前提条件的: 点击file》open project》S3C2440.jflash(如果没有这个文件的话,猛戳http://download.csdn.net
[单片机]
第二十章、 Tiny4412 U-BOOT移植二十 增加cleanlcd命令
一、命令格式说明 关于如何命令的说明网上有好多资料,我这里仅仅简单的说明一下: U-Boot的每一个命令都是通过U_Boot_CMD宏定义的。这个宏在 include/command.h 头文件中定义。如下所示: #ifdef CFG_LONGHELP #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep,cmd, usage, help} #else / no long help info*/ #define U_BOOT_CMD(nam
[单片机]
单片机51到AVR程序的移植
将 C51 向 ICCAVR的转换进行一次总结 1、 头文件 对C51中定义寄存器的头文件如 reg51.h at89x51.h等替换成相应的 AVR头文件 如 io8515.h io2313.h等 2、 中断处理函数 在 C51 中以 interrupt 关键字来说明某一个函数为中断处理函数 在 ICCVAR 中可采用#pragma interrupt_handler预处理命令在程序开始处声明 具体用法如下: #pragma interrupt_handler 中断处理函数名 中断向量号 注意 对原 C51 源程序中的 interrupt 和 using关键字应当删除 3 、对 C51 中的 bit 和 sbit 数据
[单片机]
mini2440裸机程序--LED灯(C语言)
看了mini2440配套光盘里面的例子,C语言的点亮LED程序略显复杂。当时打开工程,看到这么多文件,顿时傻了眼。还好自己能够有良好的心态,慢慢弄。 对于点亮LED灯的C语言程序,相对于汇编程序,除了MDK系统自动添加的启动代码S3C2440.S ,其余的也就和汇编程序的步骤一样了。现在就把程序附在下面: #define rGPBCON (*(volatile unsigned long *)0x56000010) #define rGPBDAT (*(volatile unsigned long *)0x56000014) #define rGPBUP (*(volatile unsigned long *)0x5
[单片机]
嵌入式linux内核制作方法
制作嵌入式平台的linux内核的方法和制作PC(x86)的平台的linux内核基本一致,下面介绍如何制作用于mini2440开发板的内核。 1. 清除原有的配置和中间文件(在linux内核目录下执行命令,本文以linux-2.6.29为例) #pwd /home/guoqian/4-3-1/linux-2.6.29 #make distclean 2. 配置内核 #cp mini2440_defconfig ../../../.config 将内核文件下的/arch/arm/configs配置文件mini2440_defconfig复制到内核文件的根目录下,并重命名为隐藏文件.config。注意,所有的配
[单片机]
[JZ2440] 配置编译 linux-2.6 内核
一、相关资料获取 我个人在学习 mini2440 开发板时是跟着韦东山老师的视频学习的,视频和资料可以访问百问网论坛获取。 百问网论坛链接: http://www.100ask.net/bbs/forum.php 下载好资料后在 JZ2440资料光盘 文件中 systems 目录下可以获取到 linux-2.6.22.6.tar.bz2(内核源码包)和 linux-2.6.22.6_jz2440.patch(韦东山老师移植 linux-2.6 到 JZ2440 开发板的 patch 包)。在第一期视频目录下可以获取到 韦东山Linux视频第1第2期所有源码文档图片芯片手册.rar 压缩包。 二、配置编译
[单片机]
外部字库芯片GT32L32S0140的移植
经过几天的努力终于移植成功了,现把遇到的问题记录下来。 一步一步来, 1、先做通硬件,和驱动,自己动手找到一块旧板子,把GT32L32焊接到板子上,连接到主板的spi2端口上。安装网上的步骤把驱动字库移植过来。先运 行一下,看会不会出汉字呢?。。。。。。自然不可能,期望值太高了。接下来开始找问题,发现字库芯片的地址计算有问题。赶紧修正,再次测试,读出了字库信 息。为了验证读出的是否正确,手工将数据翻译成二进制码,在字模上点出来,哇!居然正确,不可思议。 2、将驱动移到到ucgui上。先ucgui上先显示一下试试,不要异想天开,路需要自己走出来,山需要自己劈开。下面开始查找问题,经过检查,发现字显 示的位置不对,x=-139了
[单片机]