- 博客(37)
- 资源 (5)
- 收藏
- 关注
设备接入阿里云物联网平台
接入步骤一个设备接入阿里云物联网平台,主要有三个步骤1.接入云平台2.设备端开发3.设备上下行调试接入云平台参考文档设备接入指南
2019-06-14 00:47:26
4648
原创 树莓派基础之系统安装
一、系统安装1. 软硬件准备硬件准备:树莓派3B+SD卡读卡器软件:PanasonicSDFormatter SD卡格式化工具Win32DiskImager SD卡镜像制作工具2. 系统下载系统要到树莓派的官网下载, 地址如下:https://www.raspberrypi.org/downloads/noodle 是带安装界面的系统,在安装界面选择设置语言等,然后开始安装...
2019-03-30 23:46:46
242
原创 VSCode配置C/C++编译
安装VSCode1.下载地址: https://code.visualstudio.com/2. 配置C/C++的编译环境: https://code.visualstudio.com/docs/languages/cppVSCode + cygwin + makefile编译C/C++工程VSCode的task.json 编译.c文件需要一个个将文件添加在 task中,如果文件很多这样并...
2019-03-29 07:05:40
299
原创 嵌入式arm板linux路由表设置
arm板的linux系统启动后,网卡起来了,用ifconfig查看网口信息如下:[root@HOSTNAME /]#ifconfigeth0 Link encap:Ethernet HWaddr 10:23:45:67:89:AB inet addr:192.168.2.88 Bcast:192.168.2.255 Mask:255.255....
2019-03-17 10:42:53
1804
原创 universalMusicPlayer samples 代码学习
写在开始本文希望对一个google提供的简单apk的学习,了解android app的框架,学习代码结构,以达到能写简单app的目的。项目介绍项目名称:universalMusicPlayer 项目描述: android 音频播放器 项目地址:https://github.com/googlesamples/android-UniversalMusicPlayer/建立工程File->impor
2016-07-31 15:48:04
3609
原创 android studio 使用记录
问题列表编译helloworld工程报错误: Failed to resolve: junit:junit:4.12。这是因为项目引用到了Junit单元测试工具。解决方法是找到项目中的build.gradle文件,修改如下,屏蔽testCompile dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’])
2016-07-30 16:26:05
385
原创 gradle构建
Gradle构建入门什么是gradlegradle是一个基于JVM的构建工具,gradle脚本中的任务采用groovy语言编写(这就好像makefile中的目标用bash编写)。gradle自带AntBuilder。 gradle通过一些配置文件和脚本来完成代码的依赖、第三方库的引入、编译的自动化配置等功能。 makefile的核心思想的构建思想是通过一个个“目标”、“依赖”、“命令”来完成整个
2016-07-24 13:36:44
348
转载 android sdk中example如何编译
android sdk 自带的demo是学习android的极好材料。下面介绍如果将android example导入到eclipse 或者adnroid studio中编译。1. eclips导入exampleFile->new -> project -> android -> android Sample project选择Build Target选择一
2016-01-14 22:02:45
976
原创 warning: right shift count >= width of type
linux上编译mkyaffs2image工具, 出现如下警告
2014-05-03 22:05:04
6527
原创 samba服务器需要关闭防火墙和selinux
RHE6搭建samba服务有两个需要注意的地方:一是关闭防火墙,二是关闭selinux的设置。 如果防火墙没有关闭,在window的浏览器下输入ip地址后,会提示无法连接。 关闭防火墙的具体做法: (1)重启后永久生效: 开启: chkconfig iptables on 关闭:chkconfig iptables off
2014-02-27 13:31:28
6299
原创 C与C++混合编程
C调用C++的函数和变量时,C++的头文件要加extern “C”,且.C文件不能直接包含extern “C”的头文件,要另外用extern 声明所要用的C++中的函数。 #ifdef _cplusplus extern "C" { #endif ......
2014-02-08 10:10:43
682
原创 collect2: ld terminated with signal 11 [段错误]
编译一个工程C和C++的混合工程时,报collect2: ld terminated with signal 11 [段错误], 暂时不知咋样解决!!
2014-02-07 17:14:28
10266
原创 面试之20131206
今天这家公司的面试时间约的是上午11点。10点出门打印简历,在11点10分前赶到该公司,拿了份个人资料表和面试题来做。看到有个人在做题,应该也是过来面试的。做了半个钟后,前台就问我做完没有,还有一道题目没做,一时想不出好的算法,就这样吧,先交了。 题目不是很难,题目也大都见过。值得一提的几道题目有:变量在程序中数据区和堆栈区分布、static和const的作用(这道题几乎必考)、类型的强制转换(
2013-12-07 11:10:34
604
原创 linux设备驱动之异步通知与异步I/O
一、基本概念 同步I/O操作请求发出后,应用程序会阻塞,直到请求满足为止。 异步I/O的基本思想是允许进程发起很多I/O操作,而不用阻塞或等待任何操作的完成。稍后再接到I/O操作完成通知时,进程再检索I/O操作的结果。 异步通知是指在访问设备中,一旦设备就绪,驱动程序主动通知应用程序,这样应用程序就不需要查询设备的状态了。二、异步通知 异步通知需要在驱
2013-12-03 20:42:29
664
原创 linux设备驱动之阻塞与非阻塞I/0
一、基本概念 阻塞操作是指在执行设备操作时,若不能获取资源,则挂起当前进程,直到满足可操作的条件再进行操作。挂起的进程放到等待队列,当条件满足时,恢复执行。 非阻塞操作是指当执行设备操作时,若不能获取资源,则立刻返回,不等待。二、阻塞I/O 阻塞I/O的是用等待队列实现的。一个进程的I/O操作被阻塞时,该进程就会将自身加到等待队列中,同时调度其他进程允许。当等待的条件
2013-12-03 19:44:57
524
原创 linux设备驱动之并发控制
一、基本概念 并发是指多个执行单元同时、并行被执行,而并发的单元对共享资源(硬件资源和软件上的全局变量、静态变量等)的访问很容易导致静态。二、产生竞态的情况 主要有三种情况:1.对称多处理器的多个CPU。2.单CPU内进程与抢占它的进程进程。3.中断(硬中断、软中断、Tasklet、底半部)与进程之间。三、单CPU避免竞态的方法 避免竞态主要有5种方法分
2013-12-02 09:26:12
644
原创 linux驱动开发面试
2013年11月28日接到一家公司的面试通知,职位是linux驱动开发,约好下午过去。下午3点多到达那公司,前台拿了份试题给我做。题目差不多都做过了,除了几道linux内核方面的题目。无非是static,const,volatile,宏定义等。心里想着没多大希望了,他们招的应该是熟手。结果也正如我所意料的,发现自己处于一个很尴尬的位置,既不是做应用开发,也不是做驱动开发,而是在这两者之间!这是这次
2013-11-28 22:06:51
1483
原创 linux嵌入式开发之挂载网络文件系统
linux主机开发,嵌入式linux目标机运行,建议使用网络文件系统,这样就不需要下载程序到目标机,即可运行程序,方便调试。1.主机设置 (1)主机开起nfs服务: service nfs start (2)设置nfs的共享目录,共享目录的权限设置请google之。 #vi /etc/exports
2013-01-22 16:49:48
980
原创 eclipse的C程序调试技巧
1.条件断点 在某一语句添加断点后,点右键->BreakPoint Properties, 例如 int i= b; 断点条件可设为 b != 0.2. 热替换 单步调试中可在Variablies栏中修改变量的值,进行调试.3.分析core文件查看出错到行数和文件 core文件到说明可以man core 查看。打开core文件到产生开关为ulimit -
2013-01-21 17:39:08
1450
原创 window平台动态库的制作
winow的动态库有两种使用方法:一是动态链接,一是隐式加载。 动态加载:直接编写.c文件和模块定义文件。动态加载是在程序运行时要使用到这个库的函数时,才把使用的函数加载到程序的内存空间。在程序中无需包括头文件和设置.lib文件,而是调用一组库的操作函数实现对库函数的使用。 隐式链接:编写.c文件和头文件。有一点要注意的是在编写的时候要注意防止对函数名的改编,因为不
2012-04-04 11:49:53
488
原创 linux进程编程
前一阵子,写了一个在linux上的远程下载程序。写好后测试了几遍都没问题,但是由另外一个程序调用本程序时,system函数都失效了,查看errno的值为10,没有子进程。本以为只要保证程序单独运行时不出错,在其他进程中调用也就不会有问题,显然并非如此。 简单描述下我的程序:在程序中,多个地方调用了system函数,因为调用system函数较为方便。system创建一个进程执行调用的命
2012-04-04 11:03:01
447
原创 2440串口编程
一、串口编程步骤1.IO口初始化 由于管脚多是复用管脚,所以要设置成相应的功能2.串口相关寄存器初始化 只需要设置控制类的基础器即可,状态类寄存器是用来查询的。3.编写读、写一个字节的函数 这两个函数是最基础的函数,其他读写函数都是有这两个函数生成。二、串口模式选择 串口有几种模式,应该知道各种模式的适用情况。各个
2012-02-23 23:38:00
492
转载 嵌入式目标文件类型解析
烧写文件格式介绍 axf和elf都是编译器生成的可执行文件,区别是axf文件是调试文件,可由ads或mdk生成;而gcc编译出来的是elf文件。 两者虽然很像,但还是有差别的。这是文件格式的差别,不涉及调试格式。 bin是直接的内存映象的表示。axf/elf是带格式的映象 。axf/elf文件里面包含了符号表,汇编等。bin文件是将elf文件中的代码段,数据段,还有一些
2012-01-03 14:38:18
1126
原创 Jlink 下载程序到SDRAM运行
昨天搞了一天的用jlink下载bin文件到SDRAM运行。具体做法如下: 1.打开Jlink-commander, 成功连接的话,则显示以下信息 2.设置JTAG的速度,不设的话,下载大文件会很慢 3.下载SDRAM初始化bin文件到2440的内部4KRAM运行,这分为两种情况: (1)如果是选择nand flash启动, 2
2011-12-25 10:50:54
2412
原创 51单片机的外部中断
51单片机外部中断只需设置两个寄存:中断允许寄存器IE和中断控制寄存器TCON。 外部中断有两个:外部中断0、外部中断1。外部中断0是管脚P3.2,外部中断1是管脚P3.3。 #include void delay(){ int x,y; for(x=0;x for(y=0;y}void main(){ EA=1; //IE
2010-07-13 19:30:00
2601
原创 不亮的点阵
为什么两个点阵只亮一个呢?可能的原因: 1、主函数写错了。2、74hc595的驱动函数错了。3、电路图画错了。4、proteus的bug。 困扰了我几天的问题现在解决了,原因是电路图错了。我用复用的P0(AD0~AD7)口作为74hc595的使能端,这是错误的,而改用普通的P1口后就行了。这是什么原因呢? 某人的回答: 由于P0口内部没有上拉电
2010-04-24 11:53:00
1428
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人