自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

来一杯奶茶

嵌入式

  • 博客(21)
  • 收藏
  • 关注

原创 实现VMware中Ubuntu与主机Windows系统之间的相互复制与粘贴

1、在虚拟机VMware的菜单栏选择 虚拟机-->安装VMware Tools,如果安装后VMware Tools还为灰色,重启系统 2、选中“安装VMware Tools...”之后可以下图路径找到。或者在/media/VMware Tools目录中找到安装软件压缩包 3、把VMwareTools-10.0.0-2977863.tar.gz拷贝到/tmp目录下 4、在进入/tmp目录下解压VMwareTools-10.0.0-2977863...

2021-12-20 13:32:25 967

转载 TCP中分包,黏包解决办法

粘包产生原因:先说TCP:由于TCP协议本身的机制(面向连接的可靠地协议-三次握手机制)客户端与服务器会维持一个连接(Channel),数据在连接不断开的情况下,可以持续不断地将多个数据包发往服务器,但是如果发送的网络数据包太小,那么他本身会启用Nagle算法(可配置是否启用)对较小的数据包进行合并(基于此,TCP的网络延迟要UDP的高些)然后再发送(超时或者包大小足够)。那么这样的话,服务器在接...

2018-02-27 11:58:56 4511

原创 platform

通过Platform机制开发发底层驱动的大致流程为: 定义 platform_device---注册 platform_device ---定义 platform_driver-----注册 platform_driver。 1. Platform_device 定义于 kernel/include/linux/platform_device.h中,struct platform_device {...

2018-02-09 10:04:34 302

转载 使能MMU

1、kernel启动流程第一阶段简单说明arch/arm/kernel/head.Skernel入口地址对应stextENTRY(stext)1第一阶段要做的事情,也就是stext的实现内容设置为SVC模式,关闭所有中断获取CPU ID,提取相应的proc info验证tags或者dtb创建临时内核页表的页表项配置r13寄存器,也就是设置打开MMU之后要跳转

2018-01-30 09:01:16 1319

转载 创建临时内核页表的页表项

1、kernel启动流程第一阶段简单说明arch/arm/kernel/head.Skernel入口地址对应stextENTRY(stext)1第一阶段要做的事情,也就是stext的实现内容设置为SVC模式,关闭所有中断获取CPU ID,提取相应的proc info验证tags或者dtb创建临时内核页表的页表项配置r13寄存器,也就是设置打开MMU之后要跳转

2018-01-30 08:55:35 963

转载 验证tags或者dtb

1、kernel启动流程第一阶段简单说明arch/arm/kernel/head.Skernel入口地址对应stextENTRY(stext)1第一阶段要做的事情,也就是stext的实现内容设置为SVC模式,关闭所有中断获取CPU ID,提取相应的proc info验证tags或者dtb创建页表项配置r13寄存器,也就是设置打开MMU之后要跳转到的函数。使能

2018-01-30 08:54:39 293

转载 获取CPU ID,提取相应的proc info

1、kernel启动流程第一阶段简单说明arch/arm/kernel/head.Skernel入口地址对应stextENTRY(stext)1第一阶段要做的事情,也就是stext的实现内容设置为SVC模式,关闭所有中断获取CPU ID,提取相应的proc info验证tags或者dtb创建页表项配置r13寄存器,也就是设置打开MMU之后要跳转到的函数。使能

2018-01-30 08:53:29 2855 1

转载 kernel启动流程第一阶段简单说明

1、kernel启动流程第一阶段简单说明arch/arm/kernel/head.Skernel入口地址对应stextENTRY(stext)1第一阶段要做的事情,也就是stext的实现内容设置为SVC模式,关闭所有中断获取CPU ID,提取相应的proc info验证tags或者dtb创建页表项配置r13寄存器,也就是设置打开MMU之后要跳转到的函数。

2018-01-30 08:52:04 320

转载 kernel启动流程

一、kernel启动之前的准备动作在kernel启动之前的准备都是由bootloader来完成。所以不管是什么bootloader,例如uboot、LK、superboot等等,都需要实现以下准备动作。这里指说明概念,不涉及代码。 我们在project X项目中使用的bootloader是uboot,具体代码参考第四节“kernel准备动作在uboot中的实现”1、kernel

2018-01-30 08:48:30 1128

转载 【以面带点】由一道面试题所引出的C语言static变量特性

最近部门在准备春招笔试题时,有这样一道题目:用C/C++语言实现一个函数,给定一个int类型的整数,函数输出逆序的整数对应的字符串,例如输入1234,则输出字符串"4321",,输入-1234,则输出字符串"-4321"。题目要求,不使用标准库,以及不能分配动态内存。当时觉得蛮简单的,这不就是类似字符串逆转嘛,纸上得来终觉浅,绝知此事要躬行,自己尝试做了一下,发现还是有一些地方值得注意。今天在此整

2018-01-29 09:19:27 284

转载 linux c 检测网线断开

假如应用程式不使用 tcp 的 keepalive,在网线断开之后,以前建立的 socket 链接仍然会保持在ESTABLISH 状态不会改变。实际上 tcp 协议对这部分是有所处理的,需要服务端程式,在配置 socket 属性时,使用 keepalive option, 一旦有此配置,这些长时间无数据的链接会根据 tcp 的keepalive 内核属性,在 > (tcp_keepal

2018-01-23 10:10:56 1786

原创 altium designer 方便实用的技巧

1.在原理图绘制中,两个引脚不在同一水平或者垂直线上,可以通过shift+space来选择导线的角度  有直角,45度角,任意角度

2017-11-20 16:46:50 525

原创 linux 简单驱动编写

linux内核驱动我感觉经历了3个阶段1.硬件信息跟驱动在一个文件,向单片机的驱动一样2.硬件信息跟驱动文件分离,由platform总线维持联系3.硬件信息集中在一块(简称设备树),跟驱动文件也是由platform维系第二种情况适用于3.0之前的内核,他的驱动建立流程是这样的分别建立两个文件,platform_device.c和platform_driver.c

2017-11-14 18:33:14 212

原创 lwip ping时间长解决办法

lwip ping时间长可能有两个原因造成的1.网卡数据堆积,lwip采用网卡中断接收数据,每次中断处理一次数据包如红色部分err_t ethernetif_input(struct netif *netif){err_t err;struct pbuf *p;p=low_level_input(netif);   if(p==NULL) return ERR_MEM;

2017-10-18 15:02:49 6206 1

转载 LwIP BUG之TCP连接丢失

LwIP所有版本包括最新的2.0版本具有以下缺陷,当用户使用raw编程并在err或poll回调函数中操作了内核全局tcp_active_pcbs链表(最典型的,比如进行了重连操作),将有可能导致链表异常,严重情况下,链表中的很多tcp_pcb会丢失,从而导致部分连接没有任何反应,出现假死的现象。    具体信息为(以1.4.1为例),在tcp.c文件的tcp_slowtmr函数中,截取如下

2017-10-17 17:32:25 2934

原创 设置板子上linux系统开机执行

查看 根目录下etc里的 inittab           vi    /etc/inittab::sysinit:/etc/init.d/rcS# The following 2 does not need login#::respawn:-/bin/sh#::respawn:/sbin/getty 115200 ttyS0 vt100 -n -l /bin/sh

2017-10-09 14:21:27 419

转载 linux 串口编程详解

首页移动开发架构云计算/大数据互联网运维数据库前端编程语言研发管理综合全部Linux串口编程详解 linux串口相关设置函数转载 2014年10月30日 17:59:41161511tcgetattr   函数用于获取与终端相关的参数。

2017-09-27 14:09:23 1891

原创 linux编程心得

1.使用open打开一个文件,执行read  50 个数据字节长度下一次再执行read会从51个字节开始读2.调用system 可以在代码中执行命令 如  system("ls -al /etc/passwd /etc/shadow");3.在做嵌入式web服务器boa时遇到一个问题, nfs启动时,网页设置的参数能保留在网页上,而且每设置一次保留最新设置的参数,nand启动时网页一直是第一次更改...

2017-09-19 18:47:57 476

原创 boa移植与测试及遇到的问题

1.下载boa源码  boa-0.94.13.tar2.解压   tar zxvf  boa-0.94.13.tar.gz3.cd  boa-0.94.13/src4.  ./configure5.gedit或者vi  Makefile      找到Makefile中的 CC = gcc  Cpp = gcc -E     如果你的boa要在板子上运行,把gcc改成你的交叉编译器

2017-09-14 14:05:20 439

转载 linux系统常用命令

1.linux下打开一个文件除了用vi外,还可以用geditgedit 文件名

2017-08-24 15:41:14 137

转载 板子上实现ftpd

# mkdir /gliethttp_ftpd_dir# cp /bin/busybox /gliethttp_ftpd_dir# vi /etc/inetd.conf21 stream tcp nowait root ftpd ftpd -w /gliethttp_ftpd_dir# inetd                 // inetd会执行/etc/inetd.co

2017-08-24 10:58:44 420

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除