自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

跃祥博客

简单但不过度简单

原创 Ubuntu内核“换心”教程:换成自定义内核,并变成硬实时内核。

实验环境:Ubuntu 16.04.3 原装内核为4.10.0-28 启动内核镜像为:vmlinuz-4.10.0-28-generic 初始文件系统为:initrd.img-4.10.0-28-generic 这两个文件均在/boot目录下。 现在我们准备将其内核换成4.4.131。 ...

2019-09-26 11:02:18

阅读数 20

评论数 0

原创 内核启动报错:Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0) 在开发板启动后,串口输出停止了,内核卡住了,经过查看串口消息,发现了kernel panic这段内核恐慌的报错提示,提示不能挂载根文件系统...

2019-03-14 20:34:12

阅读数 979

评论数 0

原创 MZ701A板子移植linaro操作系统的关键步骤

一、首先是.dts文件 .dts文件是SDK工具根据hdf文件操作生成的wiki教程 二、关于u-boot编译所采用的配置文件说明: 鉴于zed板子也是zynq7000系列,我们的MZ701A也是该系列,故可以用zed的配置文件 也就是make zynq_zed_defconfig,U-b...

2018-10-24 22:00:18

阅读数 155

评论数 0

翻译 关于shell的进程替换process substitution,日志文件与屏幕同显:exec &> >(tee "$log_file")的解释说明

一、解释进程替换 进程替换仅仅在支持命名管道(FIFO)或/dev/fd来命名打开的文件的系统上可用。它采取的形式是: <(list) 或 >(list) 进程list运行时,输入或输出连接到FIFO或在/dev/fd中的文件。作为扩展...

2018-10-22 11:28:24

阅读数 866

评论数 0

原创 petalinux使用-终极教程

前提:已安装petalinux软件,若未安装,详见petalinux、vivado工具安装 一、设计流程步骤如下: 先去官网下载一个对应的bsp包,如果没有,可以自定义工程,自己建自己的项目,在开始阶段,先用bsp熟悉一下开发流程: 我这里下的是zc702 的bsp板级支持包。bsp下载...

2018-10-18 11:44:01

阅读数 4958

评论数 3

翻译 linux统一diff格式补丁文件块范围双@@后紧跟的字串含义与说明

补丁文件块范围信息后紧跟(加红部分):例如: @@ -l,s +l,s @@ optional section heading 一、@@ -l,s +l,s @@: 这一部分表示的就是块的范围,其中-号表示源文件,+号表示新文件,l表示开始的行,s表示对于新旧文件各自有s行改动的块(s i...

2018-10-10 11:38:14

阅读数 184

评论数 0

原创 给赛灵思xilinx-4.14打实时补丁

源码所在位置:petalinux-v2018.2-open_components/components/xlnx-4.14 下载linux实时补丁包:实时补丁 显然:必须下载对应于内核版本的实时补丁包,将补丁包放于与xlnx-4.14同级的目录下 ======================...

2018-09-25 14:18:46

阅读数 331

评论数 0

原创 赛灵思xlnx4.14编译内核出错原因解析、交叉编译工具安装、赛灵思xlnx-uboot源码制作mkimage工具

cc1: some warnings being treated as errors scripts/Makefile.build:320: recipe for target 'drivers/mtd/spi-nor/spi-nor.o' failed make[3]: *** [driver...

2018-09-19 09:42:24

阅读数 466

评论数 0

原创 linux系统管理员处理日常任务的几个简单小方法

一、 从linux日志文件中读取数据并处理的脚本程序   g317 #!/bin/bash exec 0< testfile count=1 while read line do echo "line #$count: $line&q...

2018-09-10 14:02:19

阅读数 197

评论数 0

原创 实时系统基准测试

sudo apt install rt-tests安装测试程序 cyclictest --help可出现操作方法即代表安装成功 RUN: $ sudo cyclictest -t 5 -p 80 -i 10000 -l 10000 注释: -t 5 :运行五个线程, -p 80:线程优先...

2018-08-29 18:56:18

阅读数 148

评论数 0

原创 赛灵思 ZYNQ系列安装petalinux/SDK/VIVADO

一、petalinux工具安装 安装petalinux必要的包(注:需到root权限下执行以下命令) sudo apt-get install tofrodos等等,依次类推全部安装一遍,复制下面命令直接运行,即可一次性安装完所有的包 sudo apt-get instal...

2018-08-23 16:56:23

阅读数 831

评论数 0

原创 关于C语言浮点类型转换格式的说明

在printf中: %f表示输出float或double类型 %Lf表示输出long double类型,注意是大L,无小L,小l只和整形转换说明一起使用 在scanf中: %f表示将输入的值存储为float类型 %lf表示将输入的值存储为double类型,注意是小L %Lf表示将输入的值存储为lo...

2019-10-17 13:06:49

阅读数 1

评论数 0

原创 C++中分割输入行中带逗号的字符串-stringsteam类的使用

#include <iostream> #include <vector> #include <string> #include <sstream> using namespac...

2019-08-23 00:27:31

阅读数 15

评论数 0

原创 C++开辟动态二维数组的几种方法总结

一、用 new 来动态开辟一个二维数组 int **p = new int*[m];  //m行n列型 for (i = 0; i < m; ++i) {   p[i] = new int[n];   for (j = 0; j < n; ++j)   scanf (&...

2019-08-16 19:52:57

阅读数 83

评论数 0

转载 vector中erase的两种常见错误

//在循环中使用erase需要避免的错误 //erase的函数原型有两种形式: //iterator erase(iterator position); //iterator erase(iterator first, iterator last); 左闭右开 [first,last) vecto...

2019-08-16 02:33:42

阅读数 65

评论数 0

原创 Ubuntu 16.04 Linux系统下使用C++连接mysql数据库

Ubuntu安装mysql sudo apt-get install mysql-server,mysql-client,libmysqlclient-dev 安装的时候会提示你设置数据库的密码 安装结束后验证是否成功:sudo netstat -tap | grep mysql 如果...

2019-08-08 00:45:10

阅读数 23

评论数 0

原创 C++之string类中npos变量的取值

npos取值为unsigned int或unsigned long的最大取值 我的VS编译器是用的无符号int,32位 取值为4294967295 即FFFF FFFF 因此: unsigned int len = npos;那么len将取值为4294967295 int len = npos;那...

2019-08-07 01:21:47

阅读数 8

评论数 0

原创 关于信号量和互斥量协调操作的说明,以防死锁

生产者模型: 消费者模型: 必须先操作信号量来查看缓冲区是否可以被操作,之后才能获取缓冲区的使用权(加锁), 如果上面检测信号量和加锁反过来,那么将导致死锁。 例如生产者生产完消息直接对缓冲区加锁,声明主权缓冲区只能由自己使用,然后再查看有没有空间能放消息了,如果这时候消息队列满了,那么生产者...

2019-07-25 16:06:16

阅读数 12

评论数 0

转载 多线程编程

1.背景知识              Linux没有真正意义上的线程,它的实现是由进程来模拟,所以属于用户级线程,位于libpthread共享库(所以线程的ID只在库中有...

2019-07-25 14:21:56

阅读数 16

评论数 0

转载 Github仓库命名规范

Github仓库命名规范 命名规则 : GIT库名一律采用项目名-类型-年月的形式。其中对项目名的规范如下: 库名中不得出现下述规定的字符- \ @ ! # $ % ^ & * () [] {} | \ ; : ‘’ ’ , 。 《 》 < > · ...

2019-07-20 18:58:10

阅读数 5

评论数 0

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