摘要:
在使用tar时,有时需要在解压缩时去掉顶层目录,下面介绍两个一些可行的做法. 通常在做压缩和解压时,是这么操作的: 压缩: 解压: 此时,tmp目录下的文件结构: 有时不想看到顶层目录a 方法一:压缩时处理 压缩: 解压: tmp下的目录结构: 方法二:解压时处理 压缩: 解压: 此时tmp下的目录
阅读全文
posted @ 2019-12-31 17:19
dolinux
阅读(4244)
推荐(0)
摘要:
如果最大列设置的太小,就会出现如下的现象: 可以通过Options -> Global Options来修改: 完。
阅读全文
posted @ 2019-12-31 10:02
dolinux
阅读(1478)
推荐(0)
摘要:
参考: 搭建apt源 Ubuntu ARM更改为国内源 使用Qemu运行Ubuntu文件系统(1) 针对arm和arm64,使用的是http://ports.ubuntu.com/ubuntu-ports/。下面以搭建arm64的本地源为例。 概述 有些私有云环境不允许连接互联网,这样的话云平台的虚
阅读全文
posted @ 2019-12-29 12:28
dolinux
阅读(4371)
推荐(1)
摘要:
邮箱:pengdonglin137@163.com 参考: man sgdisk 使用 sgdisk 管理分区 sgdisk基本用法 考虑下面一种场景: 编译刷机包时,是按照2GB的eMMC制作gpt分区格式的镜像,但是最终使用的eMMC的大小是4GB,如何让最后一个分区占满后面的2GB空间,并且保
阅读全文
posted @ 2019-12-25 15:33
dolinux
阅读(1961)
推荐(0)
摘要:
交叉编译popt: https://unix.stackexchange.com/questions/266187/lpopt-is-not-found-while-cross-compiling-for-aarch64
阅读全文
posted @ 2019-12-24 11:06
dolinux
阅读(407)
推荐(0)
摘要:
在busybox中提供了一个名叫taskset的命令用于设置进程的cpu亲和性,让指定的进程或者程序在指定的cpu上面运行,该程序是通过调用sched_getaffinity和sched_setaffinity来完成的,关于这两个API可以参考https://blog.csdn.net/i_am_j
阅读全文
posted @ 2019-12-10 16:49
dolinux
阅读(1361)
推荐(0)
摘要:
邮箱:pengdonglin137@163.com 参考:https://stackoverflow.com/questions/1706328/how-do-shared-libraries-work-in-a-mixed-64bit-32bit-system 概述 在嵌入式开发时,经常会通过编译
阅读全文
posted @ 2019-12-06 14:53
dolinux
阅读(7781)
推荐(0)
摘要:
以ARM32开发板为例,在/lib下有一个名为ld-linux-armhf.so.3的可执行程序(在ARM64开发板上是/lib/ld-linux-aarch64.so.1),这个程序负责加载可执行程序以及依赖的动态库: 然后使用--list参数就可以查看依赖的库: 此外,也可以使用readelf来
阅读全文
posted @ 2019-12-06 13:41
dolinux
阅读(2854)
推荐(0)
摘要:
参考: linux操作系统测试工具 几款优秀的Linux基准测试工具 Linux性能测试工具-UnixBench linux下内存性能测试工具STREAM Intel® VTune™ Profiler LTP 工具分类 工具 CPU 内存 磁盘 IO 综合 stream √ fio √ atop √
阅读全文
posted @ 2019-11-30 21:27
dolinux
阅读(1258)
推荐(2)
摘要:
作者:彭东林 邮箱:pengdonglin137@163.com 参考 https://gist.github.com/tessus/5e118d44261a6ab2f198 环境 Qemu-4.1 Linux-4.14 ARM64 aarch64-linux-gnu-gcc 8.3 概述 在进行嵌
阅读全文
posted @ 2019-11-30 00:28
dolinux
阅读(1268)
推荐(0)
摘要:
其他core的入口 文件:arch/arm64/kernel/head.S secondary_entry: 在从bl31切到EL1上的Linux Kernel后: 第595行,在el2_setup中设置EL1和EL0为小端模式,然后将w0设置为BOOT_CPU_MODE_EL1,并返回 第596行
阅读全文
posted @ 2019-11-24 23:55
dolinux
阅读(5657)
推荐(1)
摘要:
像下面的qemu启动命令: 可以使用如下方式将设备树文件dump出来:
阅读全文
posted @ 2019-11-18 12:34
dolinux
阅读(2458)
推荐(0)
摘要:
下面是自制的用于编译ARMv8指令的交叉编译工具链: 1、运行在PC上,支持SVE指令,不支持SVE ACLE,版本GCC9.2 https://pan.baidu.com/s/1_NnwajWCelT3rRUuM-yl6Q 2、运行在PC上,支持SVE指令,支持SVE ACLE,版本GCC9.0
阅读全文
posted @ 2019-09-28 00:12
dolinux
阅读(1818)
推荐(0)
摘要:
参考:https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/arm-instruction-emulator/installing-arm-instruction-emulator 运行环
阅读全文
posted @ 2019-09-27 10:31
dolinux
阅读(1193)
推荐(0)
摘要:
开发环境 PC:ubuntu18.04 Qemu:4.1 Kernel:Linux-5.2 概述 由于要学习ARM的SVE技术,但是目前还没有支持SVE指令的板子,所以只能用Qemu来模拟,但是发现Qemu在用户模式下无法设置SVE的位宽,在浏览ARM官网资料时发现,ARM提供了Arm Instru
阅读全文
posted @ 2019-09-22 18:41
dolinux
阅读(2898)
推荐(0)
摘要:
最近在学习AArch64的SVE技术时,发现目前可以在网上找到的gcc版本都不支持SVE intrinsic方式调用,在看文档时发现,GCC要到2020年的GCC10时才会支持: 在github上看到了gcc仓库里存在一个名为aarch64/sve-acle-branch的分支: 然后将这个分支的代
阅读全文
posted @ 2019-09-22 12:34
dolinux
阅读(2521)
推荐(1)
摘要:
参考 Building GCC as a cross compiler for Raspberry Pi How to Build a GCC Cross-Compiler 环境 PC: ubuntu18.04 64位 (Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
阅读全文
posted @ 2019-09-21 22:18
dolinux
阅读(9350)
推荐(0)
摘要:
链接:https://www.lauterbach.com/frames.html?sim_license.html Which Features of the TRACE32 Instruction Simulator need a TRACE32 Simulator License? The f
阅读全文
posted @ 2019-09-19 10:33
dolinux
阅读(1814)
推荐(0)
摘要:
环境: 步骤: 1、下载mingw32版本的工具链 下面有两个下载工具链的网站: ARM官网的: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a
阅读全文
posted @ 2019-09-17 23:26
dolinux
阅读(721)
推荐(0)
摘要:
参考: Run GitLab Runner in a container 前面介绍了gitlab-ce的安装,下面是gitlab-runner的安装,同样还是安装docker版本。 1、下载 2、启动脚本 上面的/gitlab/gitlab-runner目录要先在本地建立好 3、运行起来后就可以注册
阅读全文
posted @ 2019-09-15 07:30
dolinux
阅读(571)
推荐(0)
摘要:
参考: https://docs.gitlab.com/omnibus/docker/README.html 利用GitLab Docker images安装GitLab(填坑) 下面是我的步骤: 1、下载gitlab-ce: 2、启动脚本 上面的192.168.1.100是我的电脑的IP地址,/g
阅读全文
posted @ 2019-09-15 00:39
dolinux
阅读(1146)
推荐(0)
摘要:
按照Qemu-4.1 桥接网络设置中介绍的方法建立起桥接网络后,可以实现虚拟机和host的相互ping,但是在虚拟机里去ping其他跟host处于同一个网段的ip地址时却失败了,然后ifconfig后发现有一个叫做docker0的网桥,这是安装docker-ce时自动创建的,将docker0删除仍然
阅读全文
posted @ 2019-09-14 14:08
dolinux
阅读(1208)
推荐(0)
摘要:
参考: [qemu] qemu旧的net参数已经不再可用了,新的这样用。 QEMU's new -nic command line option 用Qemu模拟vexpress-a9 配置 qemu 的网络功能 http://www.360doc.com/content/12/0611/14/798
阅读全文
posted @ 2019-09-14 00:30
dolinux
阅读(3631)
推荐(0)
摘要:
参考内核文档: Documentation/printk-formats.txt 在内核中使用dump_stack的时候可以看到如下用法: static inline void print_ip_sym(unsigned long ip) { printk("[<%px>] %pS\n", (voi
阅读全文
posted @ 2019-06-30 14:50
dolinux
阅读(984)
推荐(0)
摘要:
环境 Linux-4.14 Aarch64 正文 在前面的分析中调用print_symbol("PC is at %s\n", instruction_pointer(regs))输出当前PC地址的时候,输出的的内容却是:PC is at demo_init+0xc/0x1000 [demo] 下面
阅读全文
posted @ 2019-06-30 14:32
dolinux
阅读(903)
推荐(0)
摘要:
环境 Aarch64 Qemu aarch64-linux-gnu-gcc linux-4.14 概述 栈回溯的目的是将函数的调用栈打印出来,对于分析函数调用和debug系统异常会很有帮助。对于Aarch64,x29用于用来当做帧指针,x30用来存放函数返回地址。 正文 原理 首先通过一个简单的程序
阅读全文
posted @ 2019-06-30 13:00
dolinux
阅读(5082)
推荐(1)
摘要:
最近在调试问题时发现,在调用API读写一个地址时,发现只要访问这个地址程序就会异常,使用trace32跟踪发现,存放地址的X0寄存器的值的低32位是对的,就是我们期望的地址,但是高32位全部为1,对应的汇编指令是ldr w1, [x0],从而导致CPU访问了一个不存在的地址。 经过分析发现,这个AP
阅读全文
posted @ 2019-06-27 16:18
dolinux
阅读(764)
推荐(0)
摘要:
在用git clone下载一些比较大的仓库时,经常会遇到由于仓库体积过大,网络也不稳定,导致下了半截就中断了,可以参考如下的下载方法。 先用创建一个空目录,然后用git init初始化,然后用git remote add添加远程仓库,用git fetch --depth=1现在想要的分支,等下载完毕
阅读全文
posted @ 2019-06-19 16:37
dolinux
阅读(451)
推荐(0)
摘要:
在执行if判断时,可以使用GCC提供了__builtin_expect对代码进行优化,可以提高代码的运行速度,参考GCC手册的"3.10 Options That Control Optimization". 原理是:CPU在执行指令时采用的是流水线的方式,一条指令的执行大致会经过"取码 --> 译
阅读全文
posted @ 2019-06-14 10:07
dolinux
阅读(1753)
推荐(0)
摘要:
平台 Ubuntu 18.04 GitLab Community Edition 11.11.0 参考 https://source.android.google.cn/ 概述 gitlab提供了一个可以运行在本地的免费的代码托管平台,就像一个本地的github,可以将自己的平时写的或者一些经典的开
阅读全文
posted @ 2019-06-12 00:08
dolinux
阅读(4507)
推荐(0)
摘要:
TF-A链接: https://github.com/ARM-software/arm-trusted-firmware 在阅读TF-A源代码时,看到其udelay是实现如下: https://github.com/ARM-software/arm-trusted-firmware/blob/mas
阅读全文
posted @ 2019-06-08 15:04
dolinux
阅读(483)
推荐(0)
摘要:
参考: 在Linux中如何利用backtrace信息解决程序崩溃的问题 linux 打印堆栈方法 https://devtalk.nvidia.com/default/topic/987279/jetson-tx1/backtrace-returns-only-one-stack-frame-on-
阅读全文
posted @ 2019-06-04 16:36
dolinux
阅读(891)
推荐(2)
摘要:
参考: https://github.com/metro94/s5p6818_spl https://github.com/trebisky/Fire3/tree/master/Boot_NSIH https://github.com/SamsungARTIK/bl1-artik710 https:
阅读全文
posted @ 2019-05-27 23:43
dolinux
阅读(2036)
推荐(2)
摘要:
参考: https://docs.gitlab.com/ee/api/projects.html https://python-gitlab.readthedocs.io/en/stable/gl_objects/projects.html# Project merge method There a
阅读全文
posted @ 2019-05-24 23:37
dolinux
阅读(984)
推荐(0)
摘要:
环境 Android-7.1 Linux-4.14 u-boot-2018-09 概述 用过高通平台的都知道,人家把Linux内核代码放到了Android代码根目录下的kernel路径下,在编译Android的时候,会连同Linux内核一块编译,最后会将编译出来的Linux内核镜像连同ramdisk
阅读全文
posted @ 2019-05-19 12:40
dolinux
阅读(1826)
推荐(0)
摘要:
来源: build/core/build-system.html Android Build System Android Build System Status: Draft (as of May 18, 2006) Contents Objective The primary goals of
阅读全文
posted @ 2019-04-28 23:38
dolinux
阅读(987)
推荐(0)
摘要:
环境 Qemu:QEMU emulator version 3.1.0 Linux:Linux-4.14.13 工具链:arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320) Android:7.1.2 busybox:BusyBox v1.2
阅读全文
posted @ 2019-03-04 00:03
dolinux
阅读(2813)
推荐(1)
摘要:
下面是对Gcc的内置宏定义的解释: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html https://github.com/gcc-mirror/gcc/blob/master/gcc/config/aarch64/aa
阅读全文
posted @ 2019-02-19 22:42
dolinux
阅读(1449)
推荐(0)
摘要:
在AArch64状态下,SP对应的物理寄存器有如下四个(某一时刻只能对应下面其中一个): SP_EL0和SP_EL1 SP_EL2 SP_EL3 如何使用呢? 1、如果程序运行在EL0,那么使用的是SP_EL0 2、如果程序运行在其他Exception level下,可以使用SP_EL0和当前Exc
阅读全文
posted @ 2019-01-12 16:18
dolinux
阅读(9966)
推荐(2)
摘要:
下载地址: https://pan.baidu.com/s/1YcQ1XpFyzmNcr1afw1RhgQ 或者:
阅读全文
posted @ 2018-11-26 10:57
dolinux
阅读(739)
推荐(0)