自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zjy900507的博客

联系方式qq:175633121。介绍:zjy,已婚,育有一女。自动化专业,曾系统自学嵌入式,qnx,unix,Linux操作系统。曾从事嵌入式ARM-Linux系统开发和移植,网络协议栈。对于网络通...

原创 Linux信号量同步共享内存实验.

简述 本文主要内容是自己对信号量和共享内存系统函数的整理,及简单使用,以方便以后可能再次使用的情况.也可以为比较熟悉信号量和共享内存的人方便的回忆使用方法. 实验简述. 1.本实验程序有两个进程,一个写,一个读. 2.写进程不断向创建的共享内存写数据. 3.读进程通过getchar()共享内存...

2020-05-19 17:53:00 23 0

原创 CMA连续物理内存用户空间映射

背景: 在多媒体和图像处理等应用中,经经常使用到大块内存,尤其是硬件编解码。须要内核分配大块的物理连续内存。 这里希望通过把从内核分配的连续物理内存映射到用户空间。在用户空间经过处理,又能够入队到驱动中。 前提: Kernel Config中 依据需求配置和调整CMA的大小。 方法:...

2020-05-16 13:22:41 27 0

原创 内核启动错误:vmap allocation for size 314576896 failed: use vmalloc=<size> to increase size

逻辑部分加了一个PCIE-RC组件,启动时发现如下错误: # insmod recorder_all_dongtai.ko [ 188.999787] recorder_all: loading out-of-tree module taints kernel. [ 189.007265]...

2020-05-03 19:36:38 184 0

原创 /dev/mem学习

这几天研究了下/dev/mem。发现功能非常奇妙,通过mmap能够将物理地址映射到用户空间的虚拟地址上。在用户空间完毕对设备寄存器的操作,于是上网搜了一些/dev/mem的资料。 网上的说法也非常统一,/dev/mem是物理内存的全映像,能够用来訪问物理内存,一般使用方法是open(&quo...

2020-04-07 11:14:15 34 0

原创 linux 内核CMA笔记

前言 本文是近期学习CMA模块的一个学习笔记,方便日后遗忘的时候,回来查询以便迅速恢复上下文。 学习的基本方法是这样的:一开始,我自己先提出了若干的问题,然后带着这些问题查看网上的资料,代码,最后整理形成这样以问题为导向的index,顺便也向笨叔叔致敬。笨叔叔写了一本书叫做《奔跑吧Linux内...

2020-04-05 15:54:14 78 0

转载 Linux内核最新的连续内存分配器(CMA)——避免预留大块内存

在我们使用ARM等嵌入式Linux系统的时候,一个头疼的问题是GPU,Camera,HDMI等都需要预留大量连续内存,这部分内存平时不用,但是一般的做法又必须先预留着。目前,Marek Szyprowski和Michal Nazarewicz实现了一套全新的Contiguous Memory Al...

2020-04-05 15:52:33 26 0

原创 Linux x86_64/arm 分配大块物理连续内存

Linux x86/arm 分配大块物理连续内存 实现一个PCIe设备驱动,需要分配几个128M的物理连续内存作为DMA的缓冲区,受制于伙伴系统最多分配4M,所以需要使用到cma机制,来分配大块的物理连续内存实现通过DMA搬运数据: 硬件平台:x86_64 软件平台:CentOs7.4 linu...

2020-04-05 11:06:22 106 0

原创 内核分配大块连续内存的方法【转】

原文链接:https://blog.csdn.net/edwardlulinux/article/details/45896901 参数传递: uboot向内核传递参数的方式分为两类。 (1)第一类是通过bootcmd例如在uboot终端提示行使用pri命令现实出的bootarg等。 (2...

2020-04-05 10:59:26 32 0

转载 Wmware centos7磁盘满了,无法启动系统

一开始以为是vmware-tools的启动脚本问题 一直在找这个方向的问题,后来想到应该是磁盘满了导致的系统进不去。查了挺多的资料的,后来看到一篇博客有用到linux rescue(救援模式)来操作我的centos里的文件,删除掉一些文件(因为虚拟机里的文件存在本地系统是受保护的,无法直接在...

2020-04-03 14:54:29 83 0

原创 linux nand flash常用命令

使用命令前用cat /proc/mtd 查看一下mtdchar字符设备;或者用ls -l /dev/mtd* #cat /proc/mtd dev: size erasesize name mtd0: 00c00000 00020000 “ROOTFS” mtd1: 00200000 000200...

2020-03-29 18:00:35 61 0

转载 LINUX DDR驱动知识(转)

一、DDR原理 DDR内存既然叫做双倍速率SDRAM(DualdaterateSDRSM),就是说是SDRAM的升级换代产品。从技术上分析,DDRSDRAM最重要的改变是在界面数据传输上,其在时钟信号上升缘与下降缘时各传输一次数据,这使得DDR的数据传输速率为传统SDRAM的两倍。那么大家就...

2020-03-19 17:47:46 189 0

转载 linux加密文件系统

导读】 本文将详细介绍利用dm-crypt来创建加密文件系统的方法。与其它创建加密文件系统的方 法相比,dm-crypt系统有着无可比拟的优越性:它的速度更快,易用性更强。除此之外,它的适用面也很广,能够运行在各种块设备上,即使这些设备使用 了RAID和 LVM也毫无障碍。 Linux使用加密...

2019-12-23 13:50:03 56 0

转载 免费好用的DiffMerge工具大总结

总结:比较下来:diffmerge和P4merge最好用,kdiff比较专业些,支持自动merge。 一 csdiff 下载:http://www.componentsoftware.com/Products/CSDiff/index.htm 特点:1)免费;2)需要安装;3)文件和文件夹比...

2019-12-17 15:06:32 18 0

原创 x86架构操作系统内核的实现

hurlex <十二> 内核线程的创建与切换 2014-09-17posted in [hurlex开发文档] hurlex <十一> 内核堆管理的实现 2014-09-16posted in [hurlex开发文档] hurlex <十> 虚拟内存管理...

2019-12-17 14:05:51 59 0

原创 ecos 学习资料

转载地址:http://blog.chinaunix.net/uid-26215986-id-3341183.html 一.英文资料 1.ecos home page:http://ecos.sourceware.org/ 2.ecos user guid:http://e...

2019-11-08 16:52:39 68 0

转载 Profinet从站开发(6)- EB200P step by step (烧写程序)

1、由于会出现bin文件不更新的情况。在烧写前要删除旧的ecos.bin文件,重新编译生成新的ecos.bin文件,选择Build Configration—Clean All,清除原有的所有.o文件。再重新编译。 2、按照前一章的步骤,启动调试。注意:烧写时一定要断开网线与PLC的连接,只需要...

2019-11-06 19:13:19 66 0

转载 Profinet从站开发(5)- EB200P step by step (调试PN协议栈)

调试前的准备 按照下图连接设备搭建调试环境 连接仿真器时,注意JTAG连接器的方向和位置 在程序中启动J-Link GDB Server 按照下图配置JTAG参数,选择最大速率 点击OK确认,如果目标板工作正常,会显示如下界面: 注意,如果首次调试自己开发的板子可以选择Verify d...

2019-11-06 19:12:19 67 0

转载 Profinet从站开发(4)- EB200P step by step (编译PN协议栈)

安装协议栈 拿到EB200P安装光盘(4.4固件)后,首先运行Setup进行安装,一路默认设置就好。 安装完成后,会在C:\Program Files (x86)找到文件夹DEVKIT44,这是协议栈开发包的全部内容。首先将DEVKIT44复制到非系统盘(比如D盘)根目录下。很多人喜欢把协议栈...

2019-11-06 19:11:16 101 0

转载 Profinet从站开发(3)- 开发必备的软硬件

需要准备的软件 1)Windows 7, 64-bit 最新的固件FW4.4是支持Win7和Win10的,但是在安装EB200P USB驱动时会有强制签名的问题。所以为了避免麻烦,建议使用Win7 2) Java Runtime Environment (JRE)32-bit 或者 JDK ...

2019-11-06 19:10:19 66 0

转载 Profinet从站开发(2)- ERTEC200P开发套件

目前,比较常见的有3类开发板 A. 标准套件 - EB200P/EB200P-2 开发套件包含开发板,协议栈光盘和一个不怎么好用的JTAG调试器 板子如下图所示: 电路板总体是PCI-E板卡形式的,但是由于西门子并不提供PCI-E的驱动和FPGA的IP Core,所以并不需要安装到PC机上...

2019-11-06 19:09:32 104 0

转载 Profinet从站开发(1)- 初识ERTEC200P

1、随着自动化技术和IT技术的发展,以及工业自动化新的需求出现,在PROFIBUS技术上发展起来的PROFINET技术,是世界上先进工业以太网解决方案。 2、它具有profibus的基本功能,通过它来连接生产资产(传感器,执行器,子系统和生产单元)和设备(如PLC,DCS)。 3、另外完全兼容并利...

2019-11-06 19:08:38 96 0

原创 深入理解计算机系统(第三版)随书源代码下载

官网的下载地址: http://csapp.cs.cmu.edu/3e/code.html

2019-11-06 11:32:53 354 0

原创 valgrind 工具介绍和简单的使用

最近老是遇上各种奇奇怪怪的core dump,不太会分析的情况下看到了这款工具。在这记录分享下。 Valgrind 是个开源的工具,功能很多。例如检查内存泄漏工具---memcheck。 1).Valgrind 安装: Ununtu:apt-get install valgrind 嵌入式:(...

2019-10-30 15:55:37 27 0

转载 Visual Studio 2019/2017 安装使用教程(快速上手版)

Visual Studio 2017 安装使用教程(详细) 在此鸣谢范华对本文工作的大力支持 一.下载 二.安装 2017版本新建项目过程 2019版本新建项目过程 新建源文件 然后你就可以简单编写一段代码测试一下啦 三.特殊问题解决 1.运行闪退 ...

2019-10-17 16:45:14 2081 0

转载 Visual Studio 2019/2017 安装使用教程

目录 Part0.背景 Part1.配置环境 Part2.克隆项目 Part3.单元测试 Part4.基本操作 断点 单步运行 条件断言 Part5.回归测试 Part6.效能工具介绍 Part7.提交代码 Part0.背景 阿超家里的孩子上小学一年级了,这个暑假老...

2019-10-17 16:43:56 1447 0

原创 KEIL MDK 5添加Device/CPU

下载KEIL MDK5以后是没有安装device的,如果此时创建工程会找不到目标芯片,如下图所示: 此时我们就要安装自己需要的芯片系列,比如STM32F4系列。 此时出现下面如下界面: 这个下载过程比较慢,耐心等待,安装完毕之后,关闭KEIL5,重新打开KEIL5,此时新建工程,就出...

2019-09-28 11:10:19 227 0

原创 DS-5教程-使用ARM DS-5 和DSTREAM仿真器调试裸机程序

1概述 本文介绍使用ARM DS-5创建一个裸机程序,并用DS-5里面的ARM编译器进行编译,编译之后通过DSTREAM仿真器将程序加载到MYD-SAMA5D34开发板的SRAM(内存)上。 通过DS-5和DSTREAM,就可以对SRAM上的程序进行调试,包括单步调试、全速运行、设置断点、寄存...

2019-09-19 14:48:25 826 0

原创 将新的编译器工具链添加到DS-5

https://developer.arm.com/tools-and-software/embedded/legacy-tools/ds-5-development-studio/resources/tutorials/adding-new-compiler-toolchains-to-ds-5...

2019-09-19 10:43:35 226 0

原创 什么是OPTEE-OS

1. 为什么会出现这种技术? 为了安全,例如:保护指纹虹膜的生物特征数据 2. 为了确保数据安全各家公司都做了些什么? Arm公司提出的了trustzone技术,用一根安全总线(称为NS位)来判断当前处于secure world还是non-secure world状态,状态的切换由ATF(a...

2019-09-05 13:50:42 358 0

原创 python3ValueError:InvalidPInamebxml

ValueError: Invalid PI name 'b'xml''解决方法:pip3 install --upgrade pygal

2019-08-27 09:10:44 43 0

原创 Ubuntu16.04版安装VMwareTools的步骤和没法挂载目录问题的解决

vmtool安装流程 1.点击vmware 里面的虚拟机——》安装vmware tool 2.然后(等待一会)弹出一个界面把里面的 VMwareTools-9.6.1-1378637.tar.gz 复制到自己的家目录 3.解压VMwareTools-9.6.1-1378637.tar.gz ...

2019-08-27 00:20:44 341 0

转载 Ubuntu16.04安装python3.7及相应的pip

Ubuntu16.04自带了Python2.7和Python3.5,现在最新版本的为Python3.7.1,Python可以多个版本共存,不影响。 一、下载 1、python去官网下载源码:https://www.python.org/downloads/release/python-371/ ...

2019-08-26 12:55:57 808 0

转载 subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.

subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1. 解决方法 find / -name lsb_release rm -rf /usr/bin/lsb_re...

2019-08-26 12:11:45 1525 0

转载 安装Python 3.6 在Ubuntu 16.04 LTS 版本

在ubuntu 16.04版本中,系统默认安装 了python 2.7和3.5版本,因为系统本身用到python的程序,删除默认的版本又担心系统有问题,那有没有办法同时在安装和使用python 3.6版本呢?下文将一起安装python 3.6并修改原系统的python3命令以使用新安装的版本。 ...

2019-08-26 11:05:36 142 0

原创 matplotlib安装

一:在Python编程从入门到实践这本书之中 讲到linux下安装matplotlib 直接说是使用了一下命令 1.sudo apt-get install python3-matplotlib 如果是Python2.7则使用 sudo apt-get install python-...

2019-08-24 17:30:13 52 0

原创 pygame.examples

地址:http://www.pygame.org/docs/ref/examples.html pygame.examples module of example programs pygame.examples.aliens.main play the full aliens exa...

2019-08-22 09:24:40 143 0

转载 安装pygame

Pygame是一个很老的python模块了,最近的一次更新是2017年,而上一次更新是2009年,显然中间差了很久没更新,但是作为python游戏开发入门的首选库,使用还是蛮多的。 因为前几天推荐了一位朋友要学python,推荐了她《Python编程从入门到实践》By Eric matthes ...

2019-08-22 08:42:39 236 1

原创 SerDes知识讲解

随着物联网(IoT)的快速发展,未来将会存在海量的数据。“大数据”时代,对数据的处理提出更高的需求。高性能处理器及集群能完成数据的实时处理。而在处理器与外设或处理器之间传输的大量数据,对接口(Interface)技术也提出了更高的要求。就像一个人虽然有着聪明的头脑,但神经却比较“长”,就看起来就会...

2019-08-20 12:21:18 1034 0

转载 华为蒙洪OS方舟编译器编译工具正式发布, 附源码下载

2019华为全球开发者大会将在8月9日-11日在华为松山湖基地召开。本次开发者大会邀请了1500位合作伙伴、5000名全球开发者,将是华为历来规模最大的一次会议。在这次大会上,华为方舟编译器也是关注的热点。 现在根据华为开发者官网最新消息,编译工具方舟编译器已经对外发布。据介绍,方舟编译器是...

2019-08-15 17:37:10 486 0

转载 eMMC原理——总线协议

1. eMMC 总线接口 eMMC 总线接口定义如下图所示: 各个信号的描述如下: CLK CLK 信号用于从 Host 端输出时钟信号,进行数据传输的同步和设备运作的驱动。 在一个时钟周期内,CMD 和 DAT0-7 信号上都可以支持传输 1 个比特,即 SDR (Single ...

2019-08-15 15:22:08 310 0

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