logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

基于qemu-riscv从0开始构建嵌入式linux系统ch13. 最小根文件系统完成

基于qemu-riscv从0开始构建嵌入式linux系统ch13. 最小根文件系统完成busybox中init进程解析init进程代码主入口在busybox-1.33.1/init/init.c:1039,我们从上到下粗略分析下流程:创建信号集并且接管一系列系统信号,比如SIGINT、SIGQUIT、SIGPWR、SIGUSR1、SIGTERM、SIGUSR2等等。这些用于接管处理系统关机、重启等

#linux#risc-v
基于qemu-riscv从0开始构建嵌入式linux系统ch9. U-Boot platform添加与内存分配重规划

基于qemu-riscv从0开始构建嵌入式linux系统ch9. U-Boot platform添加与内存分配重规划物理内存规划在上一节中,我们已经成运行了uboot,但是默认的配置并不那么适合我们的系统,如果是在真实的ic设计开发时,软件团队往往需要在早期就规划好系统内存的使用方案,包括各级boot且需要考虑固件升级等情况,因此这节我们也针对我们的内存空间做一重新规划调整。如下图所示,最终规划如

#linux#risc-v#嵌入式
基于qemu-riscv从0开始构建嵌入式linux系统ch14. 动态链接——elf文件的加载

基于qemu-riscv从0开始构建嵌入式linux系统ch14. 动态链接——elf文件的加载busybox动态链接之前我们配置busybox为静态编译,即是可以看到生成的二进制文件就几M的大小,如果后续我们在系统内添加更多的应用程序均为静态编译,可想而知对磁盘存储消耗很大,在嵌入式设备上是很不划算的,因此我们需要考虑动态链接库,将应用程序和C库分离,这样多个应用程序可以共享一个libc的共享库

#嵌入式#linux#risc-v
gcc编译选项-pg在嵌入式profile中应用

gcc编译选项pg在嵌入式profile中应用问题引入首先说明下,本文主要是描述下使用gcc的-pg编译选项在嵌入式的裸机或RTOS系统环境下实现一些函数级别的profile或者做代码覆盖率测试甚至实现trace功能。关于这个编译选项在GCC文档有描述,但是这里要注意一点,该选项一般来讲是配合glibc中的gprof实现完备且较为复杂的性能跟踪,而众所周知在MCU级别的嵌入式开发环境往往没有操作系

#嵌入式#risc-v#stm32
使用Qt Creator远程调试部署应用到嵌入式linux开发板

使用Qt Creator远程调试部署应用到嵌入式linux开发板最近在调试开发一款Cottex-A5的开发板上的应用,主要使用了Qt作为GUI开发应用,之前用Yocto搭建好系统发行版和主机交叉编译开发环境后,使用Qt Creator加载交叉编译好的的Qt SDK包,一般完成编译后生成可执行程序然后拷贝到开发板文件系统内执行,若需要调试还得在开发板上使用gdbserver启动调试服务然后主机连接调

#嵌入式#linux#qt
基于qemu-riscv从0开始构建嵌入式linux系统ch4. 制作测试固件验证串口打印

基于qemu-riscv从0开始构建嵌入式linux系统ch4. 制作测试固件验证串口打印安装交叉编译器为了测试串口的使用,我们首先需要安装目标平台的交叉编译工具链,才能开始编写代码并生成固件仿真运行。交叉编译器我建议先使用bootlin上提供的riscv交叉编译工具链,链接如下:https://toolchains.bootlin.com/。下载如下版本的编译器:将其解压安装在你的任意目录,不过

#嵌入式#linux#risc-v
使用Qt Creator远程调试部署应用到嵌入式linux开发板

使用Qt Creator远程调试部署应用到嵌入式linux开发板最近在调试开发一款Cottex-A5的开发板上的应用,主要使用了Qt作为GUI开发应用,之前用Yocto搭建好系统发行版和主机交叉编译开发环境后,使用Qt Creator加载交叉编译好的的Qt SDK包,一般完成编译后生成可执行程序然后拷贝到开发板文件系统内执行,若需要调试还得在开发板上使用gdbserver启动调试服务然后主机连接调

Linux原生软件推荐

Linux原生软件推荐1. 概述2. 日常使用2.1 浏览器---chromium2.2 浏览器---Firefox2.3 记事本---gedit2.4 音乐---网易云音乐2.5 远程协助---TeamView2.6 远程登录---Remmina2.7 系统清理---BleachBit2.8 系统备份---Systemback2.9 邮件---Thunderbird2.10 pdf阅读器---f

#linux
qemu常用参数选项说明

qemu常用参数选项说明在我的系列博客《基于qemu-riscv从0开始构建嵌入式linux系统》中使用qemu项目一步步构造搭建了嵌入式linux系统,而其中在run.sh中qemu的启动参数选项非常多且繁杂,因此本文将对其进行归纳整理。设备类型(-machine/-M)在qemu中,不同的指令集的模拟器会编译成不同的可执行文件,诸如:qemu-system-x86_64/qemu-system

#嵌入式#linux
qemu运行riscv64 linux

使用qemu运行riscv64 linux本文编写于2021.6.6,经笔者测试所述编译配置流程均正确,如若出现错误,请检查各组件版本是否和笔者使用的一致。附:各组件版本号为linux-5.10.42,busybox-1.33.1,U-Boot 2021.04,OpenSBI v0.9,qemu-5.2.0,riscv64–glibc–bleeding-edge-2020.08-11.编译u-bo

#linux#risc-v
    共 11 条
  • 1
  • 2
  • 请选择