摘要: C语言之extern声明辨析http://yxmyifeng.blog.163.com/blog/static/129789782201001893621293/C语言之extern声明辨析 1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。 2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析: 1)、不可以,程序运... 阅读全文
posted @ 2012-04-07 13:21 Jacob Lui 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 转载 http://blog.csdn.net/iceiilin/article/details/6048895注意:如果SRAM 无法设置断点,说明SRAM调试的第一步:加载axf 文件出错了。以下为原文:stm32f107vc开发板,uvision V4.00u,JLINK V8,J-Link ARM V4.08l。flash 下调试方法:1.打开要调试的工程,左栏工程上右击options for target。进入debug中选择jlink.2. utility中选择jlink.3. 用JLINK连接PC和开发板,打开开发板电源。进入旁边的settings,添加flash烧写方法。4。. 阅读全文
posted @ 2012-04-05 15:50 Jacob Lui 阅读(650) 评论(0) 推荐(0) 编辑
摘要: After installation of OpenOCDhttp://blog.csdn.net/iamlvshijie/article/details/7423611we can test GCB Sever before development.What is GDB Server?from wikipedia:gdbserveris a computer program that makes it possible to remotelydebugother programs.[1]Running on the same system as the program to be debu 阅读全文
posted @ 2012-04-03 20:25 Jacob Lui 阅读(779) 评论(0) 推荐(0) 编辑
摘要: OpenOCD is an open-source project aiming providing a online debugger, originating from a thesis.for more information, please go tohttp://openocd.sourceforge.net/you can compile yourself, thus you can know more and modify according to situation.Or you can download the complied one: windows version by 阅读全文
posted @ 2012-04-03 15:55 Jacob Lui 阅读(4014) 评论(0) 推荐(0) 编辑
摘要: 上次谈到由于stm32官方库和iar ew arm 的不断升级, 多出配置都发生了 变化,1在使用 ewarm 6.30 升级stm32 stdlib 3.5 出现了这个错误Error(Pe47) declaration is incompatible with "__interwork__softfp unsigned long __get_PSP(void)",”declaration “ 说明有文件中定义冲突。查了一下,3.5 中cmsis 分开成了两个文件夹,一个是core 一个device, 这个正是答案。具体操作可以参考这份文档,http://www.st.co 阅读全文
posted @ 2012-03-09 11:56 Jacob Lui 阅读(914) 评论(0) 推荐(0) 编辑
摘要: 最近又用stm32 和 lm3s 做点协议栈等,把一些调试心得写出来吧,本文可是原创,转载请注明出处。芯片是stm32f103 stm32f107 lm3s9790 lm3s9b90, 开发环境是 keil mdk 4.22 iar arm 6.30.1 stm32 官方库的更新 并不向下完全兼容,其中有他们家的新的芯片不断推出有关。使用库,本人想做了个模板, 可以使用keil 和iar 使用,像官方库一样,只是它文件管理不方便。项目的配置可以抄袭官方的配置,就行了。注意: c 语言代码文件可以完全移植,但是汇编文件如 启动文件却不同,因为编译器不同,而且,官方库升级后,启动文件和底层文件发生 阅读全文
posted @ 2012-03-08 19:44 Jacob Lui 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 最近在做模拟,分享一点所得。模拟信号的解调可用于通信、小信号提取等。总结了几个电路,一起看看。1这个就是教科书上的图啦,当然是理想状况分析啦。对于大信号还不错。2 这个电路也很常见,图中的两个二极管可以倒过来接。R2走原始信号, D1,D2 制造出个半波,随后一起反向,得全波。这个电路测试中,半波效果不错,用低压降的肖特基二极管,可以检测0.3~0.4v 的信号。问题是频率上升后,就在第二个运放两个半波叠加前,它们相位相差不是90度了。当然,运放的频率带宽已考虑在内了。3 这个跟上面的差不多在上图中,先将D1去掉,将D1与D2并联,在D2上串联个电阻,D2和这个电阻中间做输出接到R3上,原理同 阅读全文
posted @ 2011-12-19 17:08 Jacob Lui 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 看到一篇文章,转载如下。 其实不光是STM32, 其它芯片甚至其它的IDE 都可参考。STM32调试过程中常见的问题及解决方法一、 在“Debug选项卡”下设置好仿真器的类型后,下载程序时却提示“No ULINK Device found.” 解决办法: Keil MDK默认使用ULINK仿真器下载程序,在“Utilities选项卡”下把编程所使用的仿真器改为相应的类型即可。二、 编译工程时提示如下信息:main.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from stm32f10x_nvic.o).main. 阅读全文
posted @ 2011-12-17 16:23 Jacob Lui 阅读(1765) 评论(0) 推荐(0) 编辑
摘要: 最近使用eclipse 发现其版本号,很不一样。便查了一下,转帖如下:==========================2001年11月7日 ,Eclipse 1.0发布 半年之后,2002年6月27日Eclipse进入了2.0时代。2.0时代的Eclipse经历了2.0和2.1两个大的版本。其中2.0在 之后又推出了2.0.1和2.0.2,而之后在2003年3月27日推出的2.1版本,也接连推出了2.1.1,2.1.2和2.1.3三个后续修订版 本。2004年6月25日 对Eclipse来说是一个值得记住的日子,进入3.0时代的Eclipse采用了OSGi运行时架构。这一年 Eclipse 阅读全文
posted @ 2011-12-15 10:39 Jacob Lui 阅读(178) 评论(0) 推荐(0) 编辑
摘要: define 是嵌入式程序里的常用的宏定义。熟悉使用它将大大方便程序编写和调试。define 的本质是直接替换。1.简单的define定义#define MAXTIME 1000编译器在工作是将MAXTIME替换为1000。这个类似变量的用法,可以用于更改程序中的经常改,数量多的变量或供别人使用的程序。2.define的“函数定义”#define max(x,y) (x)>(y)?(x):(y);在一般使用的时候是没有问题的,但是如果遇到如:c * Add(a,b) * d的时候就会出现问题,代数式的本意是a+b然后去和c,d相乘,但是因为使用了define(它只是一个简单的替换),所以 阅读全文
posted @ 2011-12-14 17:18 Jacob Lui 阅读(288) 评论(0) 推荐(0) 编辑