嵌入式
文章平均质量分 64
Achou.Wang
勿在浮沙筑高台
展开
-
一文读懂UPNP-UPNP超详细介绍
UPNP report| | | | _ \| \ | | _ \ _ __ ___ _ __ ___ _ __| |_ | | | | |_) | \| | |_) | | '__/ _ \ '_ \ / _ \| '__| __|| |_| | __/| |\ | __/ | | | __/ |_) | (_) | | | |_ \___/|_| |_| \_|_| |_| \___| .__/ \___/|_| \__|原创 2020-07-15 22:56:42 · 18975 阅读 · 3 评论 -
链接脚本语法
链接脚本语法原创 2020-02-18 15:12:07 · 332 阅读 · 0 评论 -
trap--shell脚本调试的不二人选
trap简介trap的格式如下,功能就是捕捉信号,并对信号进行处理trap [-lp] [[arg] sigspec ...]arg可以是shell命令或者自定义函数sigspec可以是以下的一个或多个定义在<signal.h>中的信号名或者数值。信号名的大小写不敏感,SIG这个前缀也是可选的。以下的命令的效果都是一样的trap "echo SIGINT" SIGIN...原创 2019-11-24 15:37:48 · 845 阅读 · 0 评论 -
u-boot详解
Bootloader对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序,这个引导程序就叫作Bootloader。6.1.1 Bootloader介绍Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。对于嵌入式...转载 2018-09-22 11:16:12 · 780 阅读 · 0 评论 -
svn常用命令
使用额URL为 https://Andrew-PC/svn/linux/svn检出:svn checkout URL显示版本信息:svn --version使用svn添加一个新的工程到控制版本库svn import 文件路径 svn路径 -m "说明"显示本地版本与版本控制库中的区别:svn diff显示状态信息:svn state显示控制版本信息:svn inf...原创 2018-10-04 18:55:34 · 460 阅读 · 0 评论 -
linux-内核启动流程分析
/******************************************************************************************/在主函数 main_loop中下面两行是启动内核的过程# ifdef CONFIG_MENUKEY if (menukey == CONFIG_MENUKEY) { s = getenv(&quot;men...原创 2018-10-04 13:00:05 · 241 阅读 · 0 评论 -
ubuntu安装与配置nfs服务器
转载,原网址:https://www.linuxidc.com/Linux/2018-03/151384.htm1.NFS服务的简介:NFS 是 Network File System 的缩写,是Sun公司于1984开发的一种分布式文件系统协议。它的核心功能就是可以通过网络,让不同的客户端,可以彼此访问共同的文件系统 ,来实现文件的共享。像许多其他的协议,建立在开放的网络计算的远程过程调用(...转载 2018-10-02 23:35:38 · 320 阅读 · 0 评论 -
bash-shell详解
linux操作系统的基本组成KernelModulesLibShellTools硬件:CPU PCI(各种总线) IDE安装双系统要先安装winddows然后在安装linux,Linux会更改windows上的MBR(用于寻找bootloader),再次启动就会出现,选择启动那个系统;--------------------------------shell 内建命令she...原创 2018-10-02 00:13:11 · 323 阅读 · 0 评论 -
wireshark相关协议详解和nc命令建立对话
TFTP简介:tftp简单的文件传输协议,用于实现误判系统引导、小文件传输、系统镜像升级引导等TFTP基于UDP协议设计(69)端口采用停止等待方式进行文件传输,采用超时重传机制进行重传TFTP将传输数据时将文件数据切割成块512字节方式传输,当最后一块不是512字节,则表示传输完成。TFTP支持ASCII码(文本,模式)和Octet(二进制模式)两种方式传输,可对文件进行读和写两种操作...原创 2018-10-01 21:54:54 · 702 阅读 · 0 评论 -
u-boot内核启动分析
菜单的实现函数 - cmd_menu.c原创 2018-09-24 23:26:48 · 150 阅读 · 0 评论 -
u-boot命令寻找分析--find_cmd函数
/********************************************************************************/u-boot命令寻找分析/*************************************************************************** * find command table entry...原创 2018-09-24 11:46:16 · 492 阅读 · 0 评论 -
wireshark抓包详解
过滤器:tcp src port 443 常用于过滤谷歌的浏览器端口443 1 2 2 2 2 2 2 2 2界面操作:wireshark界面:Capture filter :选项启用wireshark的混杂模式,只有勾选上这个选项才能,wireshark才能抓取非本地的包;1.启用实时保存之后wireshark保存的地址;2.文件保...原创 2018-09-11 00:15:39 · 30842 阅读 · 3 评论 -
u-boot分析
分makefile最好的方法就是从参照make之后的输出学习 100ask24x0_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0$@代表的是target 100ask24x0_config, 那么$(@:_config=)就是将100ask24x0_c...原创 2018-09-17 23:11:17 · 238 阅读 · 0 评论 -
linux-makefile文件分析
CFLAGS := -Wall -Wstrict-prototypes -g -fomit-frame-pointer -ffreestandingall : crt0.S leds.c arm-linux-gcc $(CFLAGS) -c -o crt0.o crt0.S arm-linux-gcc $(CFLAGS) -c -o leds.o leds.c arm-linux-l...原创 2018-09-13 00:08:37 · 335 阅读 · 0 评论 -
.bashrc和.vimrc以及一些比较有用的linux命令
1.配置文件让自己的vim和shell更适合自己相关文件 .vimrc | .bashrc路径 ~/.vimrc | ~/.bashrc功能 影响本用户的vim | ...原创 2018-09-09 23:25:25 · 815 阅读 · 0 评论 -
linux条件变量实现线程同步
int pthread_cond_init(pthread_cond_t *cond,pthread_condattr_t *cond_attr); int pthread_cond_wait(pthread_cond_t *cond,pthread_mutex_t *mutex);int pthread_cond_timewait(pthread_cond_t *cond,pthr...原创 2018-09-08 13:02:03 · 362 阅读 · 0 评论 -
linux内核编译
按照韦东山课程上说的进行内核比编译的时候出现了如下的错误:使用的开发板是jz2440但是编译选项中只有 s3c2440的选项andrew@andrew-Thurley:/work/svn_linux/linux$ make s3c2410_defconfigMakefile:416: *** mixed implicit and normal rules: deprecated synta...原创 2018-10-06 13:50:57 · 372 阅读 · 0 评论 -
linux内核分析
1.处理u-boot传入的参数2.判断是否支持该CPU3.判断是否支持单板4.建立页表(启动MMU)5.调到start_kernal6.挂载根文件系统7.最终目的是运行应用程序u-boot的目的是为了启动内核,内核的目的是为了启动应用程序构建根文件系统:应用程序是挂在在根文件系统中的;在内核启动之后,会使用文件/linux/init/main.c文件中的init_post函数启...原创 2018-10-07 23:11:54 · 322 阅读 · 0 评论 -
busybox记录
查看字节电脑的 /dev/console和/dev/null发现是字符型设备andrew@andrew-Thurley:/work/svn_linux/busybox$ ls -l /dev/console /dev/nullcrw------- 1 root root 5, 1 10月 14 07:51 /dev/console其中的root 5, 1 后面的 5 1代表的是主设备...原创 2018-10-14 23:28:29 · 377 阅读 · 0 评论 -
PlantUML权威教程-时序图
文章目录PlantUML时序图简单的时序图participant改变先后顺序使用as重命名参与者order改变参与者的顺序使用非字母符号修改箭头样式修改箭头的箭头的颜色对消息序列进行编号组合消息添加注释改变注释的形状使用ref实现引用延时效果使用`|||`增加空间像素生命线的开始和撤销生命线的嵌套创建参与者进入和发出消息构造类型和圈点多行标题hide footbox增加外观参数PlantUML...原创 2019-07-28 23:54:29 · 8500 阅读 · 0 评论 -
实现迭代型的echo服务器
文章目录Socket服务器设计实现迭代型的echo服务器代码按地址Socket服务器设计 对于使用socket的网络服务器端程序,有两种常见的设计方式:迭代式:服务器每次只处理一个客户端,只有当完全处理完一个客户端的请求后才会去处理下一个客户端并发型:能够同时处理单个客户端的请求实现迭代型的echo服务器#include <syslog.h>#include &l...原创 2019-05-26 20:44:02 · 357 阅读 · 0 评论 -
命令的艺术
文章来源转载 2019-05-26 08:52:44 · 1795 阅读 · 0 评论 -
lseek函数实现对打开文件的定位
LSEEK文章目录LSEEKlseek函数lseek函数lseek函数,定位到打开文件的指定位置处 #include <sys/types.h> #include <unistd.h> off_t lseek(int fd, off_t offset, int whence);fd文件描述符offset偏移量...原创 2019-05-25 23:40:44 · 758 阅读 · 0 评论 -
linux中GDB详细使用手册
文章目录代码调试记录使用方法,在主目录下执行make准备显示寄存器单步执行继续执行监视点删除断点和监视点生成核心转存储文件attach 到进程detach 与进程分离条件断点该命令可以给指定的断点添加或者删除触发条件反复执行删除断点和禁用断点断点命令常用命令即省略形式值的历史变量命令历史初始化文件(.gdbinit)命令定义调试必需的栈知识调试器的backtraceGDB提供了操作栈帧的命令#内核...原创 2019-03-05 22:59:08 · 10597 阅读 · 9 评论 -
linux上常用工具集
工具集 – linuxMarkdown 编辑器 – TyporaGit版本管理软件 – SmartGitDiff 比较软件 – Meld Diff 差异查看器代码编辑器 – Source Insight代码查看 – Visual Studio Code抓包 – WireShark截图软件-- Shutter串口软件 – PUTTY桌面壁纸软件 – Wallch浏览器 – ...原创 2019-03-05 22:51:24 · 639 阅读 · 0 评论 -
广播和多播
广播广播和多播仅应用于 U D P它们对需将报文同时传往多个接收者的应用来说十分重要。T C P是一个面向连接的协议,它意味着分别运行于两主机(由 I P地址确定)内的两进程(由端口号确定)间存在一条连接。有时一个主机要向网上的所有其他主机发送帧,这就是广播。通过 A R P和R A R P可以看到这一过程。多播(multicast) 处于单播和广播之间:帧仅传送给属于多播组多个主机...原创 2019-01-13 23:28:50 · 1729 阅读 · 0 评论 -
浏览器生成消息-探索浏览器的内部(1)
1.浏览器中输入网址开始网址准确的来说应该叫做URL,也就是以http://开头或者 https://开头的那一串东西,网址还可以以ftp: file, mailto开头2.浏览器对URL进行解析1.3 省略文件名的情况总之,浏览器的第一步工作就是对URL进行解析1.4 HTTP协议的基本思路1.5 生成HTTP请求消息下面是使用wireshark进行...原创 2018-12-09 14:07:25 · 219 阅读 · 0 评论 -
linux_unix编程手册-信号概述signal函数
原创 2018-11-25 17:15:18 · 263 阅读 · 0 评论 -
查看使用的那个USB口和开发板通讯
电脑打开之后在俩呢及开发板等一会使用命令dmesg查看安装驱动的信息,会看到new usb device strings:mfr - 1, product =2,serialnumber=0 说明使用的是 USB0 与开发板进行的连接你也可以使用命令: ls -l /dev/ttyUSB*来查看相关的信息可以看到字符型设备 ttyUSB0,就是与开发板相连的串口至此,我们已经顺...原创 2018-11-14 23:12:59 · 875 阅读 · 0 评论 -
嵌入式设备串口命名的地方
一下函数在dricers/serial/s3c2410.c中static int s3c24xx_serial_initconsole(void){ struct s3c24xx_uart_info *info; struct platform_device *dev = s3c24xx_uart_devs[0]; dbg("s3c24xx_serial_initconsole\n"...原创 2018-11-11 23:27:24 · 469 阅读 · 0 评论 -
u-boot的Makefile文件详解
## (C) Copyright 2000-2006# Wolfgang Denk, DENX Software Engineering, wd@denx.de.## See file CREDITS for list of people who contributed to this# project.## This program is free software; you ca...原创 2018-10-31 23:21:45 · 658 阅读 · 0 评论 -
通过init进程看如何启动第一个应用程序
使用linux的目的是为了启动应用程序init进程:读取配置文件解析配置文件根据配置文件执行用户的程序busybox --> init_mainparse_inittab file = open(INITTAB, “r”) ; //打开配置文件 /etc/inittabinittab格式::::id => /dev/id , 用作终端: stdin,...原创 2018-10-09 23:25:27 · 849 阅读 · 0 评论 -
linux创建进程fork函数和vfork函数
#include <unistd.h> pid_t fork(void); #include <sys/types.h> #include <unistd.h> pid_t vfork(void);返回:子进程中为0,父进程中为子进程ID,出错返回 -1 fork创建...原创 2018-08-25 22:20:46 · 277 阅读 · 0 评论 -
信号-linux
andrew@andrew-Thurley:~$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15)...原创 2018-08-30 00:15:28 · 129 阅读 · 0 评论 -
socket中使用多线程创建并发服务器
启动服务器:bin/echo_tcp_server_th 8888启动客户端:bin/echo_tcp_client 127.0.0.1 8888使用ifconfig命令可以看到电脑的换回地址是127.0.0.1 因为服务器和客户端在一台电脑上使用换回地址进行测试;lo Link encap:本地环回 inet 地址:127.0.0....原创 2018-08-18 21:17:19 · 1048 阅读 · 0 评论 -
bind函数详解
看看man手册:BIND(2) Linux Programmer's Manual BIND(2)NAME bind - bind a name to a socketSYNOPSIS #include <sys/types.h> /* See NOT...原创 2018-08-13 23:24:34 · 1704 阅读 · 0 评论 -
TCP客户端服务端编程模型
客户端调用序列调用socket函数创建套接字调用connect连接服务端调用I/O函数(read/write)与服务器端通讯调用close关闭套接字服务器端调用序列调用socket函数创建本地套接字调用bind函数绑定本地地址和端口调用listen启动监听调用accept从已经连接的队列中提出客户连接调用I/O函数(read/write)与客户端通讯调用close...原创 2018-08-13 23:11:34 · 1054 阅读 · 0 评论 -
inet_ntop函数和inet_pton函数
#include<arpa/inet.h>int inet_pton(int family, const char *strptr, void *addrptr); 返回:若成功则为1,若输入不是有效的表达格式则为0,若出错则为-1const char *inet_ntop(int family, const void *addrptr, char *strptr, size_...原创 2018-08-13 23:02:20 · 1117 阅读 · 0 评论 -
sockaddr与 sockaddr_in
留住因为很多系统调用必须使用这种结构struct sockaddr {unsigned short sa_family; /* 地址族, AF_xxx */char sa_data[14]; /* 14bytes的协议地址*/}; 上面是通用的socket地址,具体到Internet socket,用下面的结构,二者可以进行类型转换struct sockaddr_in {sho...原创 2018-08-13 22:43:09 · 157 阅读 · 0 评论 -
getpeername函数与getsockname函数的介绍
getpeername函数用于获取与某个套接字关联的外地协议地址getsockname函数用于获取与某个套接字关联的本地协议地址 函数定义如下:#include<sys/socket.h> int getsockname(int sockfd, struct sockaddr *localaddr, socklen_t *addrlen); int getpe...原创 2018-08-18 20:25:50 · 6731 阅读 · 2 评论