5 【星星之火】

尚未进行身份认证

我要认证

请认真的去做好一些事情。

等级
TA的排名 6k+

栈及栈溢出

1、内存空间分布常规的内存布局,在UNIX环境高级编程中:代码段: (code segment/text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的代码属于只读。在代码段中,字符串常量也属于这部分。整个程序的代码,以及所有的常量。这部分内存是是固定大小的,只读的。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。初始化为非零值的全局变量。BSS段:(bss segment)通常是指用来存

2020-07-05 14:51:14

imx6ul上电启动过程

一、CPU上电启动0、引入CPU上电后如何从flash上获取程序并执行,不同厂家不同型号CPU也往往不同,但是大体是相同的:从flash上读取。从flash上读取是最传统和常规的方式,也是项目会采用的方式。(1)各厂家的芯片如何从flash上读取程序来运行?上电时根据某些GPIO的电平,来选择进入到不同模式,如启动还是烧写?选择从哪种flash启动,如nor,nand,emmc。(2)对于imx6ul,有两个需要关注的启动电平。一个是启动模式:是烧写还是启动。一个是从哪里启动,是no

2020-07-03 21:53:08

【linux驱动】USB子系统分析

一、USB基础知识二、Linux USB驱动分析Linux内核USB驱动,以总线(Bus)、设备(device)、驱动(device_driver)模型来完成设备驱动和设备的绑定,实现USB业务逻辑。2.1 USB子系统框架整个USB驱动模型可以总结为如上图,USB分为主机测和设备侧。本文重点分析主机测一端的USB驱动。从主机HOST测来看,其包含:USB设备驱动...

2020-02-11 11:00:05

linux内核宏定义解析

1、MODULE_DEVICE_TABLE以下来自kernel\drivers\net\phy\vitesse.cMODULE_DEVICE_TABLE(mdio, vitesse_tbl);//kernel\kernel\include\linux\module.h#ifdef MODULE/* Creates an alias so file2alias.c can find...

2019-11-30 00:24:54

华为开放内核源代码

通过如下链接可以找到华为修改的Linux内核源代码:https://consumer.huawei.com/en/opensource/ 如搜索M3 Pad工具链:https://developer.android.google.cn/ndk/downloads/index.html如解压后android-ndk-r14b/toolchains/aarch64-linux-a...

2019-09-29 22:29:26

linux网络Netfilter与iptables技术

1、iptables基础1.1 Netfilter与iptables引入百度百科:Netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK),而在每个检测点上登...

2019-08-22 22:43:58

通过抓包工具抓取UDP网络通信的以太网帧数据并分析字段含义

本文主要记录使用抓包工具抓取网络数据包的过程,可以更好的理解Linux网络协议栈。1、实验环境一个嵌入式开发板:加载好网卡驱动程序一台笔记本:装好抓包工具,如wireshark,装一个网络通信助手。开发板通过直连接到PC的网口。2、抓取UDP通信数据包数据包包含内容如下(https://xingxingzhihuo.blog.csdn.net/article/details...

2019-08-15 21:48:10

读书笔记《Linux那些事儿之我是USB》

第一篇:Linux那些事儿之我是USB CoreUSB诞生于inel 产生是为了解决前期计算机并口串口的问题,实现一种解决速度,扩展性,易用性的通信方式。 速度:usb2.0高速模式,480MB/s,USB3.0 480GB/s。 支持热拔插 USB树形结构包括:USB控制器,USB设备,USB连接线(4根) root hub:和控制器绑定在一起的hub USB总线是一种轮询总线,...

2019-08-11 11:58:22

嵌入式系统电源管理

1、电源管理1.1 概述目的: 在系统可维持正常所期望工作状态的情况下,尽可能降低功耗。Linux电源管理涉及到系统待机,频率电压变换,系统空闲处理,运行时期电源管理等多个方面。措施:《Linux设备驱动开发详解》一书中对电源管理的总结:1.2 单片机对于51单片机的电源管理,提供了低速,空闲和掉电三种模式来省电。通过分频使系统降频工作 空闲...

2019-08-04 16:29:01

【linux驱动】网卡驱动程序

0、引入前面,总结了网络模型等的相关知识(https://xingxingzhihuo.blog.csdn.net/article/details/94360079)对于网卡驱动程序,可以不考虑网络协议多层的具体实现,而仅仅关注对网卡硬件的驱动,通过TCP/IP协议栈接口及linux网络接口将网络数据发送出去并接收外部发来的数据,即驱动网卡进行网络数据的发包和收包。与字符设备和块设备不同,...

2019-07-27 23:07:08

网络协议及相关知识

1、网络基础知识1.1 网络模型最常说的网络模型一般有 OSI七层协议模型 TCP/IP四层协议模型 TCP/IP五层协议模型其模型如下:网络模型 TCP/IP四层模型 TCP/IP五层模型 OSI七层模型 常见协议 典型设备 功能 应用层 应用层 应用层 HTTP、FTP、 TELNET、 ...

2019-07-27 21:26:36

【imx6ul】SIM7600CE 4G模块在imx6ul linux4.15上拨号上网

1、增加USB Serial内核驱动CONFIG_USB_SERIAL=yCONFIG_USB_SERIAL_WWAN=yCONFIG_USB_SERIAL_OPTION=ydiff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.cindex 204cd83..a8a80c7 100644--- a...

2019-06-23 15:21:04

linux负载率Load Average分析及负载率监测驱动的实现

0、引入CPU负载率一定程度上反映了系统CPU的繁忙程度,且在多核cpu下与负载均衡,进程调度关系密切。实现对CPU负载率的监测有利于实现一套稳定可靠适用的系统。1、负载率相关定义1.1 平均负载的定义1.1.1 Load average理解: 在特定时间间隔内运行队列中的平均进程数,内核一般取5、10、15分钟。 单位时间内,系统处于可运行状态和不可中断状态的平均...

2019-06-09 11:40:43

STM32单片机发送webservice结构的数据包,使WIFI模块通过http向webservice服务上传数据

1、目的对于一些通过wifi进行数据上报的硬件产品,目前市面上大多数WIFI模块支持http,但是不支持webservice,对于项目开发来说,有些情况是软件开发了webservice接口,希望硬件通过webservice接口把数据传上来,但是硬件希望通过http上传。这样就产生了一定的不协调。那么如何更快的使硬件数据传到webservice服务呢?一般有如下思路:(1)增加一个网关,接收...

2019-05-19 14:29:18

【imx6ul】系统移植之修改LAN8720的RESET管脚

1、修改网卡LAN8720的复位管脚1.1 uboot的修改uboot/board/freescale/mx6ul_14x14_evk$/mx6ul_14x14_evk.c#ifdef CONFIG_FEC_MXC/* * pin conflicts for fec1 and fec2, GPIO1_IO06 and GPIO1_IO07 can only * be used ...

2019-04-14 18:53:04

【linux驱动】USB总线驱动框架分析

1、USB驱动引入 USB(全称 Universal Serial Bus,通用串行总线)。USB接口已经成为PC及嵌入式设备中最常用、最便捷的通信接口。Linux USB子系统较为庞大,本文主要对Linux系统下的USB总线驱动整体框架进行概述,重点的细节待后续文章展开。 首先来看一个现象,插入USB设备后打印如下日志:usb 1-1: new full ...

2019-02-19 20:26:38

04-ZYNQ学习之FPGA+Linux开发的流程

通过前面3节内容,我们知道了:Xilinx ZYNQ的内部结构 PL端FPGA的开发过程 ZYNQ启动过程及固化 那么ZYNQ包含CortexTM-A9核,那么它的ARM资源应用主要就落在嵌入式linux上。ZYNQ的嵌入式Linux开发流程是本节介绍的重点。一、嵌入式linux开发三要点嵌入式linux底层开发主要工作是: bootloader 内核 文件系统内...

2018-10-13 21:39:52

Xilinx Artix-7 FPGA 【1】之实现DEMO工程并烧写

一、主要目的使用vivado 15.4 创建A7 FPGA工程 Verilog、约束等资源文件的编写及添加 程序的仿真 程序烧入固化二、创建 A7 FPGA Vivado 工程(1)选择新建工程:(2)项目名称及保存路径(3)选择工程类型在下面的对话框中默认选择RTL Project, 因为我们这里使用verilog行为描述语言来编程。下面的 Do not sp...

2018-10-02 11:43:25

03-ZYNQ学习(启动篇)之程序的固化

上一节我们只使用ZYNQ的PL端资源,单独控制PL端的LED实现流水灯:https://blog.csdn.net/fengyuwuzu0519/article/details/54923413。但是掉电后程序会丢失,那么如何固化代码到FLASH呢?就是本节的目的了。一、ZYNQ的启动流程    ZYNQ7000SOC芯片可以从FLASH启动,也可以从SD卡里启动,本...

2018-05-22 21:21:59

一文弄清Linux进程(下)

上一节我们初步认识了进程相关内容:https://blog.csdn.net/fengyuwuzu0519/article/details/802960431、进程间通讯    Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间...

2018-05-16 22:23:46

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取