
嵌入式编程
noock
这个作者很懒,什么都没留下…
展开
-
Lua 5.4.4函数、模块注册
1. 函数注册Lua 5.4.4 变化比较大,从5.2后就变了static void my_fun(lua_State* lua) { const int arg1 = luaL_checkinteger(lua, 1); const char* str= luaL_checklstring(lua, 2, NULL); printf("%d : %s\r\n",arg1, str);}static const luaL_Reg DRIVERS[] = { {"my_fun", my_f原创 2022-04-04 00:01:19 · 1648 阅读 · 0 评论 -
U-boot移植日志(5)
1)安装Cygwin 开始选择了一部分安装,结果却没有make程序,重装全部,OK 添加Cygwin/bin到Path变量 2)安装Toolchains 装完后添加cygwin/armtools/bin到path变量 3)解压u-boot-1.1.4 ta原创 2007-11-02 05:59:00 · 749 阅读 · 0 评论 -
十分钟清除西门子C65手机密码
一同事手机被锁,密码忘记,找我破解,以前知道可以,但没有实际操作,这回逼到份儿上,要实际操作了。 在网上查了几篇文章,用什么xflasher等软件弄出来FLASH然后再打开查找算码什么的,挺麻烦的。想用xflasher 1095先算出来bootpassword然后再读FLAS原创 2007-11-02 06:15:00 · 1470 阅读 · 0 评论 -
移植ftp客户端到A1200
A1200的samba不是很稳定,现在有一个FTP服务器的软件,今天移植了个FTP的客户端到1200上 1. 下载一个inetutils的源代码包,我是从Cygwin上下载的,可以去www.cygwin.com上找一个镜像下载即可,文件inetutils-1.5-4.src.t原创 2008-09-22 11:52:00 · 2083 阅读 · 0 评论 -
A1200 QT编程步骤
一、设置工作环境 对于ezx开发环境的配置就不写了,网上很多,特别是http://www.motorolafans.com/forums/development/上写得很详细 将qt工具所在目录加入PATH变量 PATH=PATH:/qt tmake需要tma原创 2008-10-16 11:53:00 · 949 阅读 · 0 评论 -
iContact AE 新增功能
还是春节前翻译了一下配置界面,后来想改一下联系人列表,一直没时间改。上周出差一周都有点儿咳嗽,回来之后也更严重了,所以过节也没想出差去玩,明天晚上多吃了点儿药,今天上午好点儿了,没事儿干就把代码整出来好好看了看,改了一下,加了个配置项来支持。 原来电话号码放在联系人姓名的下边,占一空行,而后面空着很大空间,太浪费,改完之后利用率高多了。 麻烦的是全是用Windows Mobile的API,没有MFC太费劲了,文字、图片的位置都得一点儿一点儿算。 修改了几处代码,很多处都是一样的也就是循环体 vec原创 2010-06-14 12:53:00 · 934 阅读 · 0 评论 -
慎用Keil C51中的using 关键字
今天调试程序时发现程序一直表现很怪异,查了好久都没发现问题,结果把一个中断程序定义处的 using 3 去掉,就全好了,看来using 3还是慎用为妙啊,否则自己得认真分析然后去分配寄存器组,这也太累了,否则编译完的程序不定是什么结果呢。原创 2007-11-02 05:21:00 · 2078 阅读 · 0 评论 -
U-Boot移植日志(4)--添加一种新的Flash驱动
U-boot中只有一些常用型号的Flash,如果用到的Flash没有,U-boot就不能正常操作Flash,需要对添加驱动,步骤如下:(以SST39VF1601为例) 1)在/include/flash.h中为该芯片添加一个ID #define SST_ID_xF1601原创 2007-11-02 05:59:00 · 1097 阅读 · 0 评论 -
在KEIL C51中使用串口的重要注意事项
问题:用计算机通过串行口发送数据到单片机,不连续发送或者每次发送数据不太大时单片机可以正常接收,但是连续发送大批数据之后就不能正常工作,确定硬件肯定没有任何问题,软件似乎没有问题 几经周折找到引发问题的代码所在 P3 = ((P3 & 0xC3) | (newV原创 2006-08-30 06:49:00 · 1891 阅读 · 0 评论 -
C65升级与补丁 V25->V43DIY全程
昨天花了一个下午才升级成功,今天费了点儿周折才打上补丁,不想同道中人再浪费不必要的时间,把以把我的步骤给大家说一下,供参考。 使用工具:x65Flasher与VK 升级文件及工具下载:http://yizhe.net/c65/ 步骤: 1.关机,并把手原创 2005-04-08 06:50:00 · 835 阅读 · 0 评论 -
QT交叉编译环境
1. 在QT Creator中交叉编译 1) 交叉编译QT Embeded 2) 设置QtVersion设置 点击Tools->Options->Qt4->Qt Versions. 然后添加已经编译的Qtembedded目录进去,就可以编译了。 在工程中的Release配置中,必须保证Qt Version是Qtembedded,也就是刚才新建的那个Qt Version Qt Creator默认是Default Qt version的。 这需要点击左边的Projects来修改。原创 2009-10-02 12:16:00 · 1215 阅读 · 0 评论 -
USB编程备忘
安装WDK for windows vista,也就是DDK,新版本的DDK称WDK,Windows Driver Kit,这个东西不是免费了,还好以前买了VS2005 MSDN,MSDN的光盘里有。 安装完了就可以在工程里添加相应的头文件和库的路径了,但是不能把$WDK/inc/api加到项目的头文件列表里,这样可能与VS的SDK冲突,会有new.h编译不通过的问题,可以将$WDK/inc添加到工程的路径里,然后在程序中这样引用 #include USB的HID函数要引用两个库hid.lib原创 2009-04-27 12:09:00 · 853 阅读 · 0 评论 -
U-Boot移植日志(6) --RTL8019
什么也没改,编译之后连不连网线在TFTP时都显示 "Pacakage too big!" 以前没有怎么接触过8019,看了一个8019的代码与其它的开发板上的比较也没有什么区别,只是另外一块板上接的是16位模式,44B0的A1接8019的A0,而我的板上是A0接A0一对一原创 2007-11-05 05:57:00 · 996 阅读 · 0 评论 -
U-boot 命令使用详解(转)
U-boot是一个通用的bootloader,提供了很多有用的指令,可以用于程序的调试,非常方便.但程序运行时输出的帮助信息不是很详细,不是很清楚,而README文件中说得也不很详细,下在是记录了在调试过程中使用这些命令的一些总结,希望对初学者有所帮助,有些不知道怎么用,试了很多转载 2007-11-02 05:37:00 · 1392 阅读 · 0 评论 -
U-Boot移植日志(3)--添加命令
U-boot在定义指令时按模块化设计,指令的结构设计在/common/command.c中定义,而各条指令的相关函数在单独的文件中/common/cmd_CommandName.c,其中CommandName为各指令名。要添加自己的指令可以按以下步骤 1)创建一函数do_My原创 2007-11-02 06:00:00 · 671 阅读 · 0 评论 -
U-Boot移植日志(2)--启动顺序
下面说一下U-boot在启动过程中的详细初始化过程,包括各个函数的调用及相应文件,更详细的信息可以阅读源代码 1)初始化CPU 这是汇编代码,一开始调用/cpu/s3c44b0/start.s,执行一些最初级的初始化,包括内存及外围的一些主要配置 2)C语言程序开始原创 2007-11-02 06:01:00 · 914 阅读 · 0 评论 -
MSP430自毁功能设计
为了知识产权的保护,或其它一些目的,为了保护单片机中的软件不能被读出,可以选择具有加密功能的单片机,保护代码不被非法读取。由于MSP430可以进行FLASH自编程,当然就可以进行可升级的程序设计,以后可以通过串行口或者其它方式进行固件的升级。 用MSP430设计的硬件可能与计原创 2007-11-02 06:03:00 · 2915 阅读 · 0 评论 -
在8位单片机中对16位INT型数据的操作
在8位单片机中没有16位数的操作指令,所有的int型数据都要通过两个字节分开操作,使用的方法不用,生成的代码也不相同,当然效率也不一样,通过指针对16位数进行操作可以得到高效的代码。 比如通过串行口接收数据,或者从串行的EEPROM中读取的数据,或者从大于8位的A/D读原创 2006-01-04 06:46:00 · 4926 阅读 · 0 评论 -
Cygnal C8051F005中DAC使用问题
C8051F005使用D/A时在KEIL中定义了 sfr16 DAC0 = 0xD2; 然后往DAC输出数据时只需要一句 DAC0 = 0x0FFF; 认为这样编程比较方便,但是出现了一个问题,发现往DA中写入0x0FFF时,输出却只有2.35V,而参考输入是2.5V,原创 2007-11-02 15:50:00 · 1538 阅读 · 0 评论 -
Bootp:引导协议(转)
转自:http://www.networkdictionary.com/chinese/protocols/bootp.php BOOTP:引导协议原创 2007-11-05 05:35:00 · 1267 阅读 · 0 评论 -
U-Boot移植日志(1)--移植步骤及心得
当然在之前还是搜一些关于u-boot的资料,看一下,下载了u-boot的最新版本后浏览一下README文件,查看相关的关键信息。 1、获取u-boot 1) 去u-boot主页 http://sourceforge.net/projects/u-boot下载最新发原创 2007-11-02 06:01:00 · 946 阅读 · 0 评论 -
u-boot的IDE在44B0开发板上的移植
1.配置 首先要支持IDE需要在CONFIG_COMMANDS中添加CFG_CMD_IDE命令,然后要添加IDE的相关配置信息。不看代码就不知道需要哪些信息,可以先编译一下试试,如果出错就会提示哪些宏没有定义,直接定义就行了,而且在u-boot的README文件中没有相关信息原创 2007-11-02 06:20:00 · 993 阅读 · 0 评论 -
Keil中C语言汇编代码比较
完成相同的工作,汇编代码也不一样,当然效率也不一样,下面是几段完成相同功能,但C语言表达方式不一样,使得汇编的代码也不一样,从中可以总结用Keil C51编写高效C代码的经验。 1。 代码段比较1 代码1(高效): 538:原创 2007-11-02 06:26:00 · 2424 阅读 · 0 评论 -
Keil C51 高效代码的几点建议
1、编译模式 Keil C51有三种编译模式:Large, Compact, Small模式,Large模式是把默认的变量都分配到外部存储空间,即xdata,通过DPTR访问,生成代码量最大,效率最低的模式;Small模式是把变量的默认位置分配在直接寻址的128字节空间中,原创 2005-12-21 06:47:00 · 2617 阅读 · 2 评论 -
KEIL C51中的字符中拼接
1、在Keil中写在一起的字符串Keil能够自动拼接到一起,成生一个新的字符串,如 printf("This"" is"" a"" string"); 效果与 printf("This is a string"); 的效果是一样的 这种写法也原创 2005-12-22 06:48:00 · 12642 阅读 · 0 评论 -
U-boot移植日志(7)--使u-boot的help命令支持通配符(*)
调了有三四天u-boot了,但命令一直在往上加,只调u-boot,而命令成功之后就不用了,但又不想修改配置文件先把命令关掉,可是在调试的时候一运行help就显示一两屏的指令列表,超级终端本来就只能显示那么小,很不方便。 后来改了一个叫DNW 0.51A的软件,显示更好一些,但原创 2007-11-02 05:35:00 · 888 阅读 · 0 评论