- 博客(73)
- 资源 (132)
- 收藏
- 关注
原创 基于linux的C语言环境下开源hashmap的使用与测试
C语言中没有C++语言中map键值对容器的数据结构,为在C语言中提供一种hashmap数据结构,并提供hashmap的操作方法,具体包括新建、释放、清除、获得缓存数据量、设置数据、获取数据、浏览数据等操作,基于hashmap的开源代码很丰富,本文不介绍如何设计hashmap的具体函数,仅介绍linux环境下开源hashmap的使用与测试,具体测试了两种键值(字符串键值和数值键值)。
2023-12-02 13:52:44 894
原创 Ubuntu20.4搭建基于iRedMail的邮件服务器
iRedMail 是一个基于 Linux/BSD 系统的零成本、功能完备、成熟的邮件服务器解决方案。本文在虚拟机的ubuntu20.4的操作系统上搭建iredmail的邮件服务器,基于ubuntu20.4搭建基于iRedMail的邮件服务器包括环境配置,iRedMail安装与配置,iRedMail调整邮件附件大小等3个小节进行描述。
2023-09-16 11:37:05 2964 1
原创 基于Ubuntu20.4的TMS320C6678开发环境(CCS8.3.1)的搭建
网上关于ccs的安装大多是基于ccs5及以前的版本安装介绍或基于windows版本的ccs软件的安装,没有关于linux系统上安装CCS8.3.1的集成开发环境。本文介绍在ubuntu20.4的系统上安装ccs8.3.1的DSP开发环境,本文包括CCS软件和SDK集成插件的下载,安装。本文在ubuntu20.4的版本安装ccs8.3.1并安装SDK6.3.0,如在其他版本系统安装不同的软件版本,流程可能存在差异。
2023-07-15 22:05:41 1404
原创 基于Ubuntu22.10系统安装部署webmin软件
Webmin是一个用于Linux系统管理的开源的基于web的系统管理配置工具。有了这个工具的帮助,我们可以管理内部的系统配置,诸如设置用户账户,磁盘配额,像Apache, DNS, PHP, MySQL,文件共享的服务等。本文描述在ubuntu22.10的系统上部署安装最新的webmin软件,本文的webmin软件部署采用源码部署的方式,并通过浏览器进行访问测试。
2023-06-15 17:39:18 1672
原创 基于linux的程序库文件打包和调用的实现(二)——动态库文件打包和调用
各个软件模块在调试过程由于涉及企业知识产权、源代码防止修改、安全性等多方面考虑,技术人员会将自己完成的软件生成库文件(含库文件和头文件(.h文件))、接口使用说明供其他模块调用,本文将从通过一个应用程序的例子,通过动态库打包、动态库调用等方面进行详细讲解,动态库生成*.so的库文件,调用时需要用到库文件和头文件(.h文件)。
2023-06-02 13:07:12 483 2
原创 基于linux的程序库文件打包和调用的实现(一)——静态库文件打包和调用
随着技术的发展,基于linux项目的软件代码越发复杂,原来一个人可以完成的软件项目,现在可能需要多个人合作、多个部门合作、多个企业合作,每个人、每个部门、每个企业可能负责部分软件模块的开发。各个软件模块在调试过程由于涉及企业知识产权、源代码防止修改、安全性等多方面考虑,技术人员会将自己完成的软件生成库文件(含库文件和头文件(.h文件))、接口使用说明供其他模块调用,本文将从通过一个应用程序的例子,介绍linux环境下应用软件库文件的打包和调用过程。
2023-06-01 14:17:43 971 1
原创 基于标准库函数的STM32的freertos的移植(三)——MDK工程搭建、配置与修改
本文基于前两节移植的freertos的工程源码,新建mdk工程,并对mdk工程的配置,freertos源码的修改进行了详细的描述,本文所有流程及内容均在mdk软件上实际编译通过的。
2023-05-30 11:59:13 1008
原创 基于标准库函数的STM32的freertos的移植(二)——freertos工程源码移植
本文通过新建目录和子目录,分别从freertos工程、freertos内核和标准库函数移植.C和.h的源文件到新建目录下的子目录,为后续基于MDK的工程配置做基础。其中freertos源码和标准库源码均使用最新版本。
2023-05-29 15:43:50 1130
原创 基于标准库函数的STM32的freertos的移植(一)——github源码压缩包下载
本文描述stm32的freertos的源码移植的软件包下载,由于本文基于标准库进行移植,因此软件包包含标准库STSW-STM32065,以及Freertos的工程源码包和内核源码包的下载。freertos的源码下载均在github上下载最新的软件版本。
2023-05-28 10:47:57 1115
原创 基于QEMU的RISC-V架构linux系统开发(四)——基于QEMU的linux内核及根文件系统加载
本文在ubuntu20.4的操作系统上使用qemu进行linux内核、根文件系统的镜像文件加载,并成功进入linux系统的命令行界面。可以用于基于risc-v的应用软件的功能调试,本文所有流程均实测并截图。
2023-05-24 09:29:30 527
原创 基于QEMU的RISC-V架构linux系统开发(三)——基于buildroot的最小根文件系统配置与编译
本文利用buildroot搭建基于risc-v架构的qemu的虚拟设备的根文件系统,其中buildroot中不编译内核源码,内核源码使用独立编译的方式。在buildroot中对配置文件进行修改,添加了系统配置、根文件系统格式、确定内核版本等信息,运用编译脚本对根文件系统进行编译生成rootfs.ext2的根文件系统镜像。
2023-05-23 11:09:42 750
原创 基于QEMU的RISC-V架构linux系统开发(二)——RISC-V的Linux内核移植
本文基于linux5.15.73的linux源码,使用risc-v的交叉编译器,对linux内核进行源码编译,编译生成内核镜像文件Image,供后续启动qemu使用。
2023-05-22 09:29:17 832
原创 基于QEMU的RISC-V架构linux系统开发(一)——RISC-V交叉编译器的安装
基于RISC-V交叉编译器包括32bit和64bit两种类型,其中每种类型又包括裸机版本(newlib)和动态链接库版本(linux glibc)。不同类型、版本的交叉编译器的安装仅在配置文件上存在差异,具体安装流程(以64bit linux的版本为例,安装流程参考riscv-gnu-toolchain的说明文档)。
2023-05-12 12:04:21 1677
原创 Ubuntu20.4利用httpd(Apache2)源码搭建web服务器
本文通过下载Apache2的httpd的源码,在ubuntu20.4的虚拟机计算机上搭建web服务器,基于Apache2的httpd在编译的过程中依赖于APR的开发环境(含APR、APR util和pcre2软件),其中apr-util依赖expat的软件。因此httpd的源码移植包括apr源码移植、expat源码移植、apr-util源码移植、pcre2源码移植和httpd源码移植等部分组成,并进行ubuntu20.4的httpd的web服务器的配置与测试。
2023-04-21 15:43:44 1561
原创 基于POSIX的消息队列的发送、接收demo的设计(linux)
本文介绍POSIX的消息队列的linux应用,新建两个进程(一个发送进程、一个接收进程)实现消息形式的数据传输。POSIX消息队列与SystemV消息队列存在相似的消息传输单位,但较SystemV消息队列更适合linux系统的使用。本文在ubuntu20.4上新建两个消息进行测试验证,实现消息队列传输一段字符串,并打印输出,所有截图均为实测结果截图。
2023-04-12 17:56:08 693
原创 基于ntfs-3g源码文件系统工具的移植(基于arm64)
本文提供一种基于嵌入式的NTFS的移植,通过下载NTFS-3G的最新源码包(V 2022.10.3版本),利用交叉编译器(arm64)进行编译、安装、配置使用。注意:本文在进行编译安装过程中会出现链接报错,该错误是源码提供的链接路径的问题,不影响移植后的ntfs工具的使用。
2023-04-06 18:04:53 1111
原创 ubuntu18.4安装redmine软件(三)——Redmine开机自启动开启
本文通过在ubuntu添加自启动脚本,实现redmine的开启自启动功能。该功能适用于redmine的服务器部署环境。本文实际在ubuntu18.4的服务器和虚拟机中均测试通过。
2023-04-03 18:12:56 933 1
原创 ubuntu18.4安装redmine软件(一)——数据库创建与ruby的安装
本文介绍ubuntu18.4安装redmine软件的前期环境准备工作,包括mysql数据库安装、mysql数据库创建和ruby的安装等。其中ruby的版本是根据redmine的版本要求,ruby采用源码压缩包的方式进行配置,编译和安装。
2023-03-23 21:29:24 928
原创 基于samba源码的ubuntu18.4搭建共享目录
本节在ubuntu18.4的系统上实现samba服务器的安装,并利用samba服务器搭建共享目录,给局域网内的windows系统提供共享文件夹服务。本节包括samba软件的安装、samba配置共享目录和samba服务器开机自启动三部分组成。本文基于samba源码压缩包的方式安装,不使用在线的安装方式。
2023-03-20 18:00:44 1324 1
原创 ubuntu20.4源码安装最新gcc(gcc V12.2)
Ubuntu20.4自带的gcc为V9.4.0的版本,老版本的gcc存在不支持新版本C语言规范,在配置、编译、安装应用软件或工具时,可能存在不能正确安装的问题。(比如:libpqxx-7.7.4在配置时要求c++17版本的支持,但gcc V9.4.0版本不支持c++17)。因此本文介绍ubuntu20.4的系统下载最新gcc12.2版本源码,并进行本地编译、安装。本节内容包括gcc12.2的必备库安装和gcc12.2安装两部分内容组成。
2023-03-15 14:52:58 7386 13
原创 基于嵌入式linux的ntp源码的移植(基于arm64)
本文提供一种基于嵌入式的ntp网络时间协议的移植,在ubuntu上下载ntp网络时间协议的源码压缩包,通过ntp的配置文件,利用交叉编译器(arm64)进行编译、安装,生成能够在arm64架构的linux系统上使用的ntp客户端(ntpdate)和ntp服务器(ntpd)。本文使用的交叉编译器为通用arm64的gcc。
2023-03-13 21:06:32 1543 4
原创 基于嵌入式linux的OpenSSL源码移植(基于arm64)
本文介绍在openssl的源码(注意:本文OpenSSL源码为V1.1.1t,是V1.x的最新版本。)移植流程,使用ubuntu系统的交叉编译器环境编译openssl的源码,生成可以在ARM64架构上运行的应用软件。
2023-03-10 18:24:28 1912 4
原创 基于嵌入式libxml2的ARM64平台的移植(aarch64)
由于libxml在移植过程中依赖于zlib的库文件,因此本节内容包含zlib(V1.2.13)的移植libxml2(V2.10.3)的移植两部分组成。整个过程主要在进行编译脚本的设计(包括交叉编译configure文件的配置),在国产FT2000的嵌入式linux系统上亲测可用。
2023-03-08 18:22:22 1283
原创 基于ubuntu的STM32嵌入式软件开发(四)——应用软件工程的修改、Makefile及编译脚本的编写
本文主要介绍基于标准库函数移植的STM32的应用软件工程的修改,主要涉及到文件内容修改、Makefile文件编写、编译脚本编写等内容,其中编译脚本是基于arm-none-eabi-gcc的交叉编译器撰写的。程序亲测可以正常编译,生成.bin和.hex的可烧录镜像文件。
2023-03-03 13:04:57 2135
原创 基于ubuntu的STM32嵌入式软件开发(三)——基于官方标准函数库的软件工程移植
本文基于st官方提供的标准库搭建应用软件工程(即非cube方式、非寄存器方式),采用标准库搭建的工程具有软件可移植性高、可读性好、符合软件设计人员思维方式。本文描述官方下载标准库及标准库的移植过程,将标准库的文件拷贝复制到软件工程目录及子目录中。
2023-03-02 15:47:29 872
原创 基于ubuntu的STM32嵌入式软件开发(二)——stlink下载软件的安装
stlink是一种开源的支持stm32的程序下载工具软件,支持stlink V1/V2/V3版本的下载器,可用于linux环境下的stm32的程序下载和在线调试使用。本文介绍stlink的源码在ubuntu上的安装方法,利用ubuntu自带的gcc进行软件源码编译。
2023-03-01 20:18:09 1327
原创 基于ubuntu的STM32嵌入式软件开发(一)——交叉编译环境的搭建(arm-none-eabi-gcc 8.2)
常用的STM32的软件开发方法都是基于MDK keil或IAR集成开发环境,但以上两个集成开发环境软件都是需要收费的,且价格较为昂贵。本节介绍一种在ubuntu上安装arm gcc(arm-none-eabi)的方式,用于编译STM32的程序。该交叉编译器可用于编译arm cortex -M和cortex -R系列芯片的交叉编译。
2023-02-25 08:40:38 1671
原创 基于嵌入式linux的DHCP服务器的搭建与移植(udhcp)
DHCP包括DHCP服务器和DHCP客户端两种模式,其中DHCP服务器用于设置IP分配规则、IP分配范围等管理功能;DHCP客户端提出分配请求,自动获得IP地址。本节介绍基于arm64的嵌入式linux移植udhcp搭建DHCP服务器的详细过程。本文采用udhcp源码压缩包进行aarch64交叉编译移植,并利用计算机作为客户端进行测试。在ft2004的嵌入式linux上实测可用。
2023-02-24 16:33:03 3068
原创 ubuntu18.4安装redmine软件(二)——redmine4.2.0安装
本文基于ubuntu18.4的桌面版系统安装Redmine软件,详细描述了安装流程,并ubuntu18.4系统亲测安装成功。
2023-02-20 10:02:41 2299 16
原创 基于RK3588的嵌入式linux系统开发(五)——uboot优化修改(按任意按键停止autoboot)
官方提供的uboot源码中,为了防止调试串口干扰导致不能进入系统,使用“Ctrl+c”的组合键来退出autoboot。本文介绍修改官方提供的uboot源码来实现终端按任意键,退出autoboot的方式,本文所选芯片为RK3588。
2023-02-19 13:02:17 2539
原创 基于RK3588的嵌入式linux系统开发(四)——uboot镜像下载(基于RKDevTool工具)
官方提供的SDK中包含RKDevTool工具(RKDevTool_Release_v2.92)和相应的驱动(DriverAssitant_v5.1.1)。本节主要介绍在windows操作系统环境下利用RKDevTool下载以上生成的uboot镜像和bootloader镜像。注意:本节使用的板卡硬件为ITX-3588J型号的开发板。
2023-02-18 08:56:14 4887 11
原创 基于RK3588的嵌入式linux系统开发(三)——uboot镜像文件合成
由于RK3588不提供BL31,ATF,DDR配置等参数配置的源码,仅提供了包含相关配置文件镜像的rkbin参数包。本文在uboot源码目录新建合成脚本,对uboot生成镜像文件和参数配置文件进行合成,生成能够烧录到板卡(emmc)中的镜像文件。本文在ITX-3588J的开发板上实测验证通过。
2023-02-17 18:00:44 2479
原创 基于RK3588的嵌入式linux系统开发(二)——uboot源码移植及编译
由于官方的SDK占用空间较大(大约20GB左右),需要联系相关供应商提供,且官方的SDK通过各种脚本文件进行集成编译,难以理解系统开发的详细过程。本章介绍直接从官方Github网站下载源码进行移植,进行uboot移植及编译,具体内容如下所述:
2023-02-16 18:08:00 6157
原创 基于ubuntu20.4的wine的MDK5软件的安装
本文基于ubuntu20.4安装MDK5的keil软件,由于MDK不提供linux版本的安装软件,因此需要利用wine软件来安装MDK5软件,具体流程包括wine软件安装、MDK5安装及MDK破解等3部分内容。
2023-02-13 17:58:45 4010 8
原创 基于RK3588的嵌入式linux系统开发(一)——开发环境的搭建(SDK解压与本地初始化)
本文利用瑞芯微官方提供的SDK开发包进行RK3588嵌入式linux开发环境的搭建,本文在ubuntu20.4版本的系统上搭建,实测可行。
2023-02-10 16:05:33 5780 3
原创 imx8的源码开发方式非yocto方式(八)——buildroot构建嵌入式根文件系统
本文基于ubuntu20.4操作系统上利用buildroot搭建imx8mmini芯片的根文件系统。buildroot版本为2022.02.07,在imx8mmini的开发板上实测可用。
2023-02-04 13:10:44 1032 4
原创 imx8的源码开发方式非yocto方式(七)——buildroot下载与安装
本文在ubuntu20.4上安装buildroot-2022.02.07的版本,从buildroot官方下载安装进行解压即可。亲测可用
2023-02-03 20:46:34 1063
原创 imx8的源码开发方式非yocto方式(六)——linux内核移植及编译
本文采用nxp官方提供的linux内核的源码,在源码的基础上配置添加ramdisk的文件系统支持,使用aarch64-gcc的交叉编译器对内核源码进行编译,编译生成Image的linux内核镜像,在imx8mmini的开发板实测可用。
2023-02-02 09:41:58 1016 2
原创 imx8的源码开发方式非yocto方式(五)——SD卡分区及基于sd卡的uboot烧录
本文在ubuntu的pc机对imx8的启动sd卡进行分区和格式化处理,并进行uboot的镜像文件flash.bin烧录到sd卡,开发板切换到sd卡启动模式,能够顺利启动uboot。
2023-02-01 14:15:58 1292
原创 imx8的源码开发方式非yocto方式(四)——基于imx-mkimage的uboot镜像文件flash.bin的合成
基于nxp的官方imx-mkimage工具对uboot的镜像文件进行合成,生成可以下载到emmc、sd卡的uboot烧录镜像flash.bin。本教程在imx8mmini的官方开发板上使用sd卡启动验证可行。
2023-01-31 09:10:49 1286 1
基于ZYNQ的XVC(Xilinx Virtual Cable)实现TCP-JTAG调试经验.pdf
2021-12-01
Zynq系列PS端嵌入式源码开发(uboot、内核、根文件系统移植)非petalinux方式.pdf
2021-11-09
zynqmp petalinux工程的建立与镜像文件的合成.pdf
2021-09-24
hi3531d PCIE 从机(EP)调试经验(非海思官方PCIV级联).pdf
2021-07-27
TMS320C6678多核启动与核间通讯经验分享(含原理分析与代码展示)
2021-04-27
TMS320C6713程序EMIF Flash镜像文件固化教程(含镜像文件生成流程).pdf
2021-04-16
基于STM32F429+DM9161C的标准库文件LWIP移植教程(UDP).pdf
2021-03-26
Project_M4_STM32F429最小系统.rar
2021-03-25
88E1512网卡SGMII千兆网驱动(支持热插拔).pdf
2021-03-10
基于STM32F413标准库函数最小系统源程序
2020-11-05
STM32F413标准库最小系统的搭建与运行流程.pdf
2020-11-05
ZYNQ7045petalinux挂载jffs2文件系统.pdf
2020-09-01
AM5728 Linux Processor SDK的安装及交叉编译工具链的配置.pdf
2020-06-17
TI_AM572XEVM_REV_A3a.pdf
2020-06-17
TMS320C6678 一键单核SPI烧录固化文件生成方法(生成bin文件和dat文件)验证可用
2020-02-29
TMS320C6678开发板入门第一个程序.pdf
2019-09-10
ANSI-VITA-46.0-2007(中文翻译版)_V1.0.pdf
2019-07-18
ANSI/VITA-46.9-2010
2019-07-15
ETG.1000.6: Application Layer protocol specification
2018-05-10
基于ARM的QT开发环境搭建及验证测试
2024-01-17
基于FT2004的uboot移植、合成与下载
2023-10-30
基于ubuntu18.4的redmine的插件安装教程
2023-04-26
基于buildroot的FT2000C根文件系统的移植
2023-04-06
基于ZYNQMP的PS端PCIE2.0x4接口功能及SSD速度测试
2023-03-24
基于ZYNQMP USB接口功能(TUSB1210)实现及测试(Host Mode)
2023-03-16
xilinx-zcu102-PS端PCIE接口配置调试(基于petalinux)
2022-11-30
基于嵌入式linux的xilinx FPGA的PCIE接口移植与测试
2022-07-06
基于ZYNQ的linux更新PL镜像程序的方法
2022-04-26
基于ZYNQ的88E1111的RGMII to SGMII + BCM5396的网络通讯功能 (含uboot与kernel的修改
2022-03-29
基于zynq的buildroot制作根文件系统
2022-03-18
基于ZYNQMP的linux更新PL程序的方法
2022-02-17
基于ZYNQMP的uboot阶段更新PL程序的方法
2022-02-17
基于zynqmp的根文件系统的建立(buildroot方式)
2022-01-21
基于zynqmp的uboot移植与kernel移植教程(非petalinux开发方式).pdf
2022-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人