小v电子技术博文 上海鲤鲸网络科技 小v单片机 物联网云平台管理系统+终端嵌入式软硬件开发!

热门文章 stm32输出pwm波形定性分析

  • 时间:2016-11-3
  • 作者:小v
  • 分类: ARM-STM32系列
  • 浏览:1075
  • 评论:0
  • 部分资料参考网友 部分资料参考网友 /****************************************************************   * 函数名:void GPIO_Config(void)    * 描述  :配置复用输出PWM时用到的I/O    * 输入  :无    * 输出  :无    * 调用  :main()调用    ***************************************************************/ &n...

    阅读全文>>

    热门文章 linux网络编程-udp通信(二)

  • 时间:2016-11-3
  • 作者:小v
  • 分类: Linux
  • 浏览:886
  • 评论:0
  • 我们直接进入函数,由于网站编辑器不太好,所以会有点乱 这是一个udp server ,注意udpserver使用到的函数 /******************************************************************************* * function name : main * description : main function for control_engine * param[in] : none * param[out] : none * return : 0-success,-1-fail *************************************************...

    阅读全文>>

    热门文章 linux高通平台下的bitbake(2)

  • 时间:2016-10-31
  • 作者:小v
  • 分类: Linux
  • 浏览:1196
  • 评论:0
  • bitbake是什么? bitbake一款面向嵌入式的构建系统的编译工具。linux系统开发就好比大厨做饭,做出什么样的饭就像linux资深工程师构建什么样的系统,这是linux大牛的必备本领。大厨将锅碗瓢盆灶具等组合到一个地方开始做饭,bitbake将各种软件包之间存在的关系整合到一起。 响应bitbake的文件大多都是由Python写成的.bbclass和.bb文件,以后看到这些就不要见怪不怪了。 来源于谷歌翻译:“像任何构建工具(make,ant,jam),OpenEmbedded构建工具BitBake控制如何构建事物和构建依赖关系。 但不像单项目工具,像make它不是基于一个makefile或封闭集相互依赖的makefile,但收集和管理一组开放的...

    阅读全文>>

    热门文章 linux高通平台开发笔记一

  • 时间:2016-10-31
  • 作者:小v
  • 分类: Linux
  • 浏览:1099
  • 评论:1
  • 最近在用高通的平台开发程序,开发平台是直接拿来用的,高通的官网需要组织号,并且需要公司的邮箱才能注册,对个人还是不太方便的,比较闭塞。百度搜索 creatpoint便可以看到高通官方手册文档官网,他和高通门户官网还是不一样的。 高通的平台架构还是和之前的三星不一样的。 高通的平台都可以跑安卓了。目前用的是高通平台apq8074系列,32bits的arm-a8处理器。 从高通官网下载的源码包可达20几个G,最新的8096 也叫MSM8996的安卓开发包可达40G,很是庞大,系统编译要几个小时。 但是我们由于用linux开发,裁剪后也就几个G了,生成的镜像文件也就8-900M了。

    阅读全文>>

    热门文章 linux下应用程序的移植

  • 时间:2016-10-27
  • 作者:小v
  • 分类: Linux
  • 浏览:908
  • 评论:0
  • 在高通的8074平台上写了一个应用程序,程序相对于底层是独立的。 现在平台升级到高通820上,也就是高通的8096平台上。 我是在windows下交叉编译的,编译好后直接推到目标上就可以运行,实际上在windows的虚拟机linux环境下已经配置好了高通的8074的sdk环境 所以生成的可执行程序可以在目标上运行。 现在所谓的移植就是将这些sdk适用于新的平台,所以改动这些sdk相关的配置就行了。 那么问题来了,linux系统交叉编译器怎么配置才能让程序在目标板上运行?

    阅读全文>>

    热门文章 成为一名嵌入式Linux开发工程师需要学习哪些知识?

  • 时间:2016-10-20
  • 作者:小v
  • 分类: Linux
  • 浏览:919
  • 评论:2
  • 随着嵌入式行业的迅猛发展,嵌入式Linux凭借其系统发展的成熟度、市场应用的高份额也受到更多工程师朋友的青睐,越来越多的企业和研发机构都转向嵌入式Linux的开发和研究,这使得嵌入式Linux在新兴的嵌入式操作系统领域内也获得了飞速发展和广泛应用。面对如此火热的行业,如何才能成为嵌入式Linux开发工程师?成为一名合格的嵌入式Linux开发工程师需要学习哪些知识? 一:C语言 嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。 二:Linux基础 Linux操作系统的概念、安装方法,详细了解Li...

    阅读全文>>

    热门文章 Git 撤销合并

  • 时间:2016-10-17
  • 作者:小v
  • 分类: Linux
  • 浏览:830
  • 评论:0
  • Git 的 revert 命令可以用来撤销提交(commit),对于常规的提交来说,revert 命令十分直观易用,相当于做一次被 revert 的提交的「反操作」并形成一个新的 commit,但是当你需要撤销一个合并(merge)的时候,事情就变得稍微复杂了一些。 Merge Commit 在描述 merge commit 之前,先来简短地描述一下常规的 commit。每当你做了一批操作(增加、修改、或删除)之后,你执行 git commit 便会得到一个常规的 Commit。执行 git show <commit> 将会输出详细的增删情况。 Merge co...

    阅读全文>>

    热门文章 linux网络编程(1)

  • 时间:2016-9-30
  • 作者:小v
  • 分类: Linux
  • 浏览:839
  • 评论:0
  •      首先说明为什么需要学习linux的网络编程 ,linux的最大的优势就是网络,并且现在是网络的时代,掌握linux的网络编程对于自己的技能事关重要。除此之外,互联网的一些大企业百度,新浪,163,淘宝这些都是网络中的服务器。 那么linux下的网络编程 ,首先要明白什么是socket套接字。Socket是介于应用层和复杂的TCP/IP协议层之间的一种接口,我们直接用这个接口进行开发就可以了。Socket使用问价关闭打开的思想,也需要关闭。 函数原型如下:  int  socket(int protofamily, int type, int protocol);//返回sockfd s...

    阅读全文>>

    热门文章 win32/linux下网络编程十点需要注意的地方(转)

  • 时间:2016-9-29
  • 作者:小v
  • 分类: Linux
  • 浏览:748
  • 评论:0
  • win32/linux下网络编程十点需要注意的地方(转)  (2007-03-21 15:53:47) 转载▼ 书上看到的,有几点觉得还是值得注意。 1、头文件 win32: #include<winSock.h> linux: #include<sys/socket.h> 2、关闭 win32: closeScoket(s); linux: close(fd); 3、在NONBLOCKING模式下调用connect,大部分返回 ...

    阅读全文>>

    热门文章 linux下udp_server的实例

  • 时间:2016-9-23
  • 作者:小v
  • 分类: Linux
  • 浏览:1015
  • 评论:0
  • /* OS Specific Headers */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <signal.h> #include <errno.h> #include <sys/stat.h> /*Socket*/ #include <sys/socket.h> #include <arpa/inet.h> #include <netinet/in.h> #include <linux/ip.h>...

    阅读全文>>

    热门文章 Linux下使用udp传输recvfrom()函数的应用

  • 时间:2016-8-23
  • 作者:小v
  • 分类: Linux
  • 浏览:918
  • 评论:0
  •   UDP包最大是多大呢?UDP头部大小字段占16字节,所以理论上是65535个字节大小。但是UDP如果是通过IP(大多数情况)来传送,由于UDP本身不支持分片,所以一个UDP包只能通过一个IP包来传送,一个IP包大大小理论上也是用16字节表示,这样UDP最大大小就是(65535-IP头部)。   而现实中如果IP包大小大于底层链路层帧的最大数据区大小,则必须对IP包进行分片传送。分片会严重影响传送效率,而且增大不稳定性,所以实际的网络程序发送的IP包都封装到单一的链路层帧中,从而避免分片。问题是链路层帧是多大呢?答案是不一定,因为不同的物理网络的帧大小不一样,如以太网是1500字节,但是其他物理网络可能更小,Internet上的有个最小的...

    阅读全文>>

    热门文章 linux下文本的创建

  • 时间:2016-8-19
  • 作者:小v
  • 分类: Linux
  • 浏览:1035
  • 评论:0
  • int create_version_file(int version, char *date) { FILE *ver = NULL; ver = fopen(APP_VERSION_PATH, "w"); if (ver == NULL) { DEBUG(LOG_ERR,"create file: %s failed\n", APP_VERSION_PATH); return -1 ; } fprintf(ver, "%s_version=%d.%2d\n", APP_NAME, version/100, version%100); fprintf(ver, "modified_date=%s\n", date); fflush(ver);//update f...

    阅读全文>>

    热门文章 网络编程中select()函数的功能

  • 时间:2016-8-19
  • 作者:小v
  • 分类: Linux
  • 浏览:953
  • 评论:0
  • 在网咯编中,select()函数主要应用方式如下 FD_ZERO(&wfds); FD_SET(sockfd_camera,&wfds); ret = select(1+sockfd_camera,NULL,&wfds,NULL,&tm); 这个是先建立socket套接字,注册一个套接字sockfd_camera, 然后使用select选定这个sockfd_camera。之后在阻塞在接受。 select()函数除了这种用法之外还可以用做定时器 比如 tv.tv_sec =0; tv.tv_usec = 10000; select (0, NULL, NULL, NULL, &a...

    阅读全文>>

    热门文章 Linux下图片路径问题总结

  • 时间:2016-8-9
  • 作者:小v
  • 分类: Linux
  • 浏览:961
  • 评论:0
  • 用户APP发过来的指令 是GET 192.168.1.1:80/home/linux/media/internal/thumbnails/pic/20160802_1245.jpg 但实际上设备的路径下没有internal这个文件夹,所以,必然会出现问题, 这其实是手机APP的问题,由于多个设备要做到兼容,而手机app人员又不在,所以只能考虑到在代码里边更改路径,但代码里边实现有很多问题。所以,大拿考虑到了 符号链接。 在我们的一上电就启动的脚本里,添加了几条命令,我们创建internal文件夹,在文件夹里映射thumbnails的内容,但实际上不占用内存空间,系统会将打开internal文件夹下的内容自动映射到thumbnails下。 ...

    阅读全文>>

    热门文章 cgi程序理解

  • 时间:2016-8-4
  • 作者:小v
  • 分类: Linux
  • 浏览:850
  • 评论:0
  • 一.基本原理 CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端。 组成CGI通信系统的是两部分:一部分是html页面,就是在用户端浏览器上显示的页面。另一部分则是运行在服务器上的Cgi程序。 它们之间的通讯方式如下图:          服务器和客户端之间的通信,是客户端的浏览器和服务器端的http服务器之间的HTTP通信,我们只需要知道浏览器请求执行服务器上哪个CGI程序就可以了,其...

    阅读全文>>

    热门文章 Linux下文件的颜色不同代表什么意思呢

  • 时间:2016-7-27
  • 作者:小v
  • 分类: Linux
  • 浏览:989
  • 评论:0
  • 当使用ls 命令查看文件时,会发现文件颜色不一样。这是什么原因呢 当改成 ll 命令就可以知道是前边的读写执行权限不同了,如下图

    阅读全文>>

    热门文章 linux下signal()函数的理解

  • 时间:2016-7-27
  • 作者:小v
  • 分类: Linux
  • 浏览:962
  • 评论:0
  • 在守护进程main.c有一段代码是这样的。 (void) signal(SIGQUIT, signal_handler); 这应该是收到sigquit的信号后,进入handler进行处理。  其原型是这样的。void (*signal(int signum, void (*handler)(int)))(int);  系统调用signal用来设定某个信号的处理方法。该调用声明的格式如下:  void (*signal(int signum, void (*handler)(int)))(int);  在使用该调用的进程中加入以下头文件:  #include <signa...

    阅读全文>>

    热门文章 如何使用Windows系统的命令行向设备里导入图片

  • 时间:2016-7-25
  • 作者:小v
  • 分类: Linux
  • 浏览:935
  • 评论:0
  • 使用Windows系统的命令行可以直接向Linux设备里导入图片。 步骤如下, 1先确认 C盘里边有adb.exe可执行文件,该文件是shell Linux的插件。 然后将设备和你的电脑硬件连接,事先说明我们用的是USB 让电脑和设备通信,插上电脑后会自动识别到设备的。串口的方式没试过,有待验证。当然也可以直接将设备当成一个u盘存储设备,直接将图片拷贝过去。但是有些路径是隐藏的,不对电脑开放,用户既看不到该路径,所有这种情况下就得使用Windows的命令行使用adb shell来实现了。 windows+ R 打开  命令行。首先进入 adb,exe的所在文件路径比如我的在C盘adb文件...

    阅读全文>>

    热门文章 Linux如何查看进程、杀死进程、启动进程等常用命令

  • 时间:2016-7-25
  • 作者:小v
  • 分类: Linux
  • 浏览:922
  • 评论:0
  • 关键字: linux 查进程、杀进程、起进程 1.查进程 最简单的查进程 pgrep 进程名称 最简单的杀死进程 kill 进程号     ps命令查找与进程相关的PID号:     ps a 显示现行终端机下的所有程序,包括其他用户的程序。     ps -A 显示所有程序。     ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。     ps -e 此参数的效果和指定"A"参数相同。   &nb...

    阅读全文>>

    热门文章 linux c中利用system()函数打印命令行写日志

  • 时间:2016-7-22
  • 作者:小v
  • 分类: Linux
  • 浏览:1291
  • 评论:0
  • system()函数只管它的命令行功能。 源代码如下 char cmdline[FILENAME_MAX]; #define LOG_PATH   "/home/linaro/media/cgi_dbg.log" int main() { sprintf(cmdline, "echo start saving >> %s\n", LOG_PATH);//write into cgi.dbg.log system(cmdline); sprintf(cmdline, "date >> %s\n", LOG_PATH); system(cmdline); // HTTP_SERVER...

    阅读全文>>

    热门文章 linux 下的execle()函数

  • 时间:2016-7-22
  • 作者:小v
  • 分类: Linux
  • 浏览:1279
  • 评论:0
  • 程序中见到这么一句话     if (interp == NULL) {       execle(cmd, cmd, (char *) 0, envp); /* (char *) 0 to squash warning */     } else { /*changed start*/  interp = "/home/linaro/http/tool/uav.cgi";  /*envp[20] = '\0'; */ /*changed end*/  execle(interp, interp, cmd, (char *) 0, envp);   &nb...

    阅读全文>>

    热门文章 stm32调试气压传感器bmp280

  • 时间:2016-7-22
  • 作者:小v
  • 分类: ARM-STM32系列
  • 浏览:1675
  • 评论:0
  • 1.BMP280的测试启动流程(注意它的datasheet中的status寄存器): (1)读取BMP280的id,其值等于0x58。 (2)把补偿寄存器的值都读出来。 (3)对BMP280进行reset。 (4)对BMP280的数据采集精度,模式。。。等进行配置。 (5)给点延时,等待数据采集完毕放入寄存器中。 (6)读取寄存器中的采集数据。 注意:BMP280对温度和气压的测量是通过一堆补偿数据然后根据自己的算法算出来的,要注意这些数据是什么类型的,刚开始我就因为粗心没看清楚,算出来的数据总是不正确。 #include <stdlib.h> #include "stm32f4xx_hal.h" #incl...

    阅读全文>>

    热门文章 web服务器中的Mongoose

  • 时间:2016-7-21
  • 作者:小v
  • 分类: Linux
  • 浏览:1253
  • 评论:0
  • Mongoose Web Server是一款易于使用的Web服务器,它可以嵌入到其它应用程序中,为其提供Web接口。了解一下功能 跨平台,支持 Windows、OS X 和 Linux 支持 CGI, SSL, SSI, Digest (MD5) 认证,WebSocket 和 WebDAV 支持断点续传和 URL 重写 基于 IP 的 ACL,支持 Windows 服务,支持 GET, POST, HEAD, PUT, DELETE 方法 Excluding files from serving by URI patte...

    阅读全文>>

    热门文章 Linux下Ubuntu输入密码登陆后又跳回到登录界面

  • 时间:2016-7-20
  • 作者:小v
  • 分类: Linux
  • 浏览:1161
  • 评论:0
  • 用的是Ubuntu14,使用时修改了home下的文件名,重启后便不能进入系统,密码正确,输入完密码后马上跳回登录界面。 搜索得知,可能改动了启动路径。担心Linux太较弱,不能乱改,果然一改就出现问题。 解决方法, 重启,按ctrl+alt +f1  进入命令行模式,进入之前会跳出 xxx  virtual MACHINE LOGIN:  类似的字符。按enter,输入密码进入用户。 然后root将之前的文件改回来。 问题解决。

    阅读全文>>

    热门文章 初学Linux所遇到的一些问题

  • 时间:2016-7-20
  • 作者:小v
  • 分类: Linux
  • 浏览:977
  • 评论:0
  • 环境搭建,有两种方法。 1 自己安装虚拟机virtual BOX,然后安装Ubuntu14版本的镜像ISO文件,需要时间较长耐心等待。 2 直接从同事那里考取已经搭建好的ova文件导入,时间段,但是所有的账户信息和配置都是人家的,连密码都是人家的,很不方便,需要再改。 其次,要熟悉一些简单的指令。 需要积累。 另外,需要每次重启都要配置arm的编译环境,以及和Windows主机的共享文件夹。 重新打开一个终端也是如此。 不允许在root下make 文件,可以在某个账户下进行make,否则即使make成功,也有可能是Linux编译器本身带的编译,而不是我们配置的编译器在起作用。 我们的目的是让配置的...

    阅读全文>>

    热门文章 搞Linux要有耐心切勿浮躁

  • 时间:2016-7-19
  • 作者:小v
  • 分类: Linux
  • 浏览:1017
  • 评论:0
  • 最近深入做Linux了,应用层开发,首先是环境的搭建,包括virtual box的安装,Ubuntu的安装以及数小时的更新等待。 初学Linux,没什么基础,搞起开发来真是盲目的很呐,不过幸亏有前辈带着,期间一定要主要积累,多问,多利用百度搜索,切勿浮躁,有时候老是犯错,真的让你怀疑人生,不过冷静下来。继续摸索继续错吧!

    阅读全文>>

    热门文章 关于段式液晶屏的lcd的码值计算

  • 时间:2016-6-14
  • 作者:小v
  • 分类: 低功耗stm32l0
  • 浏览:1126
  • 评论:0
  • 如下图是一张段式液晶屏的描述,工四个com端, 计算码值表如下 //码值表                           /* 0     1        2       3      4   */ __CONST uint16_t  NumberMap[10] = {0x3132, 0x2020, 0x3212, 0x3222, 0x2...

    阅读全文>>

    返回顶部| 首页| 手气不错| 捐赠支持| 自定义链接| 自定义链接| 自定义链接| 手机版本|后花园

    Copyright © 2014-2017   京ICP备14059411 Copyright 2014-2015 上海鲤鲸网络科技工作室 版权所有 All Rights Reserved

    sitemap