- 博客(17)
- 资源 (4)
- 收藏
- 关注
原创 LPC1778 U盘进行bootloader
最近在搞BOOT,于是利用手里的板子LPC1778的片子进行调试。 先去网上找了下发现没有LPC1778U盘进行更行的历程,于是只能自己动手做了。 1.首先当然是U盘底层驱动,这里没什么可说的,当然是下载NXP官网最新的底层库,然后再弄个FAT文件系统,一切似乎都是水到渠成没有什么大的问题。但是当我在调试时却发现枚举成功后却不能读写U盘。单步调试发现没有文件系统,读写U盘零扇区
2015-04-08 11:24:40 2874
原创 交换两个数的值的N中方法
将两个数值交换的方法有很多,一般的做法有:int a,b;int x;x = a;a = b;b = x;以上方法增加了一个变量。如何做一个通用函数进行值变换呢?有,通过指针的方法:int a,b;int x;void chang(int *a,int *b){ int x; x = *a; *b = *a; *a = *x;}但这也还是增加了一个
2015-02-02 16:29:19 600
转载 C++中重写、重载与重定义区别
一直对这几个概念有些模糊,找了好多资料,终于弄到了一个好的,粘过来看,(小抱怨一下,各大博客应该形成一个网络,那样转载多方便,也不用这么费事的粘来粘去了,直接粘的,格式不太好,各位看官凑合着看吧,学到知识就对了,嘿)重载overload:是函数名相同,参数列表不同 重载只是在类的内部存在。但是不能靠返回类型来判断。 重写override:也叫做覆盖。子类重新定义父类中有相同名称和参
2015-02-02 15:57:26 1032
转载 c99结构体指定初始化,以及 __attribute__ 关键字
在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定初始化(designated initializer)。下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化项目: static struct usb_driver usb_sto
2015-01-22 10:59:28 1793
转载 MDK中使用虚拟串口进行调试
转载自: http://bbs.ednchina.com/BLOG_ARTICLE_310610.HTM题目有点拗口,想利用串口调试Modbus啊,GPS啊什么的,可是手头没有硬件,怎么办?其实字节KEIL MDK和VSPD(这里两个软件网上都很容易就可以下载到破解版,如果找不到可以给我联系)就可以,这样调试串口就会很方便了。看了很多的文章,写的都很简单(其实也很简单:))。给出个
2014-01-23 16:32:25 3134
转载 写好代码的10个秘密
转载地址 http://www.cnblogs.com/crazybingo/archive/2010/11/29/1890953.html先给大家看一段据说是史上最强的程序:e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 01 e11b 6 57 b8 11 1 bb 21 13 8
2014-01-23 16:21:41 987 1
原创 STM32 重新理解GPIO配置以及配置PWM波输出
最近做了个SD卡BOOTLOARDER程序。在测试过程中,想到可以利用板子的LED灯进行萤火虫灯的制作,通过BOOTLOARDER将APP文件下载到板子里面查看LED灯的闪烁。可能是因为太过自信,这么个小程序能搞不定,所以并没有仔细阅读DATASHEET,导致最终费了半天时间才查出原因。此为引子,便有了这篇文章。 我的板子LED灯引脚为PB5,引脚功能为:
2014-01-22 16:20:51 8252
原创 STM32 断言的使用
由于进入岁末,放假还有几天,无事可做便开始玩玩STM32芯片。 以前虽然也使用过ST8系列的8位单片机,但是相对于32位的STM32系列单片机来讲,还是稍微复杂一点的。但ST半导体出品的CPU都提供固件库给大家使用,这使得开发周期缩短了很多。在仔细阅读官方下载的固件库时,发现ST的技术人员编写的固件库很值得我们学习。 1、首先它的封装很独立,便于移植,功能模块独立
2014-01-22 16:00:00 2099
原创 STM32 启动文件分析
一般嵌入式开发流程就是先建立一个工程,再编写源文件,然后进行编译,把所有的 *.s文件和 *.c文件编译成一个 *.o文件,再对目标文件进行链接和定位,编译成功后会生成一个 *.hex文件和调试文件,接下来要进行调试,如果成功的话,就可以将它固化到 flash 里面去。 当前的嵌入式应用程序开发过程里,C语言成为了绝大部分场合的最佳选择。如此一来main函数似乎成为了理所当然的起点
2014-01-22 15:30:35 1362
转载 关于STM32 MDK中USE_STDPERIPH_DRIVER问题的解释
原文地址:http://blog.csdn.net/xingzhewalker/article/details/6929804 初学STM32,在RealView MDK 环境中使用STM32固件库建立工程时,初学者可能会遇到编译不通过的问题。出现如下警告或错误提示: warning: #223-D: function "assert_param" declared implic
2014-01-14 11:16:11 969
转载 《uCOS51移植心得》---七年前之《快快乐乐跟我学51单片机操作系统和IP栈》
http://www.amobbs.com/forum.php?mod=viewthread&tid=3396563《uCOS51移植心得》---七年前之《快快乐乐跟我学51单片机操作系统和IP栈》巨龙公司系统集成开发部 杨屹 asdjf@163.com 2002/10/03引言 自从发表《uCOS51移植心得》以来,我收
2013-12-11 11:15:45 2929
原创 arm寄存器之r14,r15
最近在学习ARM,发现多出一个R14寄存器(LR:返回连接寄存器),不是有PC指针寄存器(R15)了吗,怎么还需要这个呢?于是在网上查找各种资料,发现了其中的秘密:先看定义:(1)PC是程序计数器,存储将要执行的指令地址(2)LR是链接寄存器,是ARM处理器中一个有特殊用途的寄存器,当调用函数时,返回地址即PC的值被保存到LR中(mov lr,pc)。(3)IR是指令寄
2013-12-06 14:23:38 5091
转载 数组指针和指针数组的区别
转载:源地址为:http://www.cnblogs.com/hongcha717/archive/2010/10/24/1859780.html数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数
2013-11-12 14:28:33 538
转载 大端模式和小端模式的区别
原地址为 http://hi.baidu.com/rongkang2/item/9dcec4ae841e07a028ce9d6c大端模式和小段模式的区别端模式,英文j :Endian.该名词不只是存在于嵌入式之中.在计算机业界,简单概要的说Endian表示数据在存储器中的存放顺序。下文举例说明在计算机中大小端模式的区别。 如果将一个32位的整数0x12
2013-10-31 16:46:29 4119 1
转载 为什么需要使用2级指针(转载)
原地址为 http://blog.163.com/xubin_3@126/blog/static/112987702200952392534107/回答一:通常情况下你想通过函数参数获取一段动态分配的内存时需要用到,比如: bool GetMemory(int **lpData) { *lpData = new in
2013-10-30 08:43:29 727
LPC1778U盘更新程序
2015-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人