0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

怎么使用CMake编译RTT微内核

电子设计 来源:电子设计 作者:电子设计 2020-12-14 22:33 次阅读

首发:Rice 嵌入式开发技术分享
作者:RiceDIY

已经大半个月没有更新文章了,大家还记得之前作者写的一篇关于RT-Thread的微内核移植的文章吗?

《如何移植RTT微内核到树莓派3B》
目前RTT微内核是RTT提供的体验版本。它采用了scons构建。作者也是刚接触scons,不是很了解,在这不过多的说明。那么来谈谈为什么不使用scons,采用cmake编译。不是因为scons不好,而是之前作者在写关于cmake的文章中,熊大(RTT的创始人)看到,然后在交流中,熊大说可以采用cmake进行编译。所以我也是冒着尝试的想法,开始了使用cmake去构建微内核。下面几篇文章是关于CMake理论的文章。

《CMake,大型项目采用的构建工具》

《CMake 静态库与动态库构建》

《CMake 教你如何链接共享库》

在构建过程中,由于不是很熟悉整个构建流程,在熊大亲自指导下,让我清晰很多。非常感谢熊大的支持。
其实整个过程最麻烦的编译选项的问题,特别是最后链接部分,这也是我花费最长去研究的。接下来,说一说微内核初步版本(只单独编译一个application)。
整个CMakeLists.txt文件如下,下面对每一行进行说明:

cmake_minimum_required(VERSION 3.10)

1.检查cmake的版本

cmake_minimum_required(VERSION 3.10)

2.其中

CMAKE/_SYSTEM/_NAME:这个变量被设置,cmake才认为采用交叉编译,CMAKE/_SYSTEM/_NAME即目标机target所在的操作系统名称,比如ARM或者Linux你就需要写”Linux”,如果Android平台你就写”Android”,如果你的嵌入式平台没有相关OS你即需要写成”Generic”。
CMAKE/_SYSTEM/_PROCESSOR:代表目标系统的硬件或者CPU的型号,例如ARM、X86。

set(CMAKE_SYSTEM_NAME Generic)

3.关闭编译检测

set(CMAKE_C_COMPILER_FORCED TRUE)

4.定义sdk和apps两个目录变量。

set(microkernel_sdk_dir "${CMAKE_SOURCE_DIR}/sdk")

5.定义项目的名字。

project(rtt_microkernel)

6.使能可以支持的语言,这里使能C语言汇编语言。如果不是能,则相关文件不会进行编译。

enable_language(C ASM)

7.添加宏,即打开源文件的某项宏定义

add_definitions(

8.添加编译选项,由于不同源文件添加的编译选项的不同,所以需要分别添加(分别是:C,汇编,C++, 链接),分别如下:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv7-a -marm -msoft-float -Werror -Wall -O0 -g -gdwarf-2 -n -pie -fpie -fPIC -fpic --static -nostdinc")

如何看我们添加的编译选项是否正确。我们编译采用外部编译,在build目录执行(cmake ..),然后查看flags.make文件。

flags.make文件的内容如下(包含相关语言的编译选项,宏定义,相关头文件路径):我们通过这个文件查看是否正确:

9.定义两个头文件变量,分别是sdk头文件目录和apps头文件目录:

set(microkernel_sdk_inc 

10.定义两个源文件变量,分别是sdk源文件和apps源文件:

set(microkernel_sdk_src 

11.定义可执行文件的后缀。

set(CMAKE_EXECUTABLE_SUFFIX ".elf")

12.根据源文件,添加一个可执行文件。

add_executable(${PROJECT_NAME} ${microkernel_apps_src} ${microkernel_sdk_src})

13.添加目标所依赖的头文件目录

target_include_directories(${PROJECT_NAME}PRIVATE${microkernel_sdk_inc}${microkernel_apps_inc})

14.添加目标依赖的链接库。以及链接脚本。

target_link_libraries(${PROJECT_NAME}

15.最后链接生成可执行文件的命令是否正确,我们可以查看link.txt文件。

link.txt文件内容如下:

编译测试:

1.测试应用如下:

2.生成可执行文件:rtt/_microkernel.elf.

3.运行验证(烧录到树莓派上进行验证):

如上是整个测试以及CMakeLists.txt讲解。有疑问,请私聊作者。

审核编辑 黄昊宇

  • RTT
    RTT
    +关注

    关注

    0

    文章

    36

    浏览量

    16622
  • CMake
    +关注

    关注

    0

    文章

    17

    浏览量

    1038
收藏 人收藏

    评论

    相关推荐

    【感芯科技64线程MC3172开发板免费试用体验】MC3172-CMake改为C++工程

    【感芯科技64线程MC3172开发板免费试用体验】MC3172-CMake魔改为C++工程在 https://bbs.elecfans.com/jishu_2308788_1_1.html 帖子中介
    发表于 10-06 20:31

    在哪里可以找到Windows上VSCode Cmake编译的MEMS源码?

    您好,我正在使用 STM32L4 Discovery 套件并在 Windows 10 上使用 VS Code 进行开发,并使用 CMake 构建应用程序。我已经使用 CMake 完成了所有设置。我
    发表于 01-17 08:07

    刚刚装好esp32 elipse CMAKE编译环境,编译hello word编译不通过怎么解决?

    CMake Error at E:/Work/eclipse-esp/esp-idf/tools/cmake/component.cmake:305 (message):Include
    发表于 02-15 08:59

    如何在Embedded Studio中使用RTT

    Embedded Studio是SEGGER微控制器的多平台IDE,包含了专业嵌入式C和C++编程和开发所需的所有工具和功能。结合基于Clang、高度优化的C/C++ SEGGER编译器,可以生成
    发表于 02-17 14:25

    根据官方文档下载和配置好esp-idf后,编译官方提供的webcamera例程时,发生了cmake编译错误的问题如何解决?

    根据官方文档下载和配置好esp-idf后,编译官方提供的webcamera例程时,发生了cmake编译错误的问题,一开始是认为是环境配置的问题,不过重新装了好几次都发生了一样的错误,甚至在Linux环境下也会出现
    发表于 02-21 07:31

    是否可以在Ubuntu中使用cmake编译S32K148 NXP代码?

    我想使用 cmake 在 ubuntu 上编译 NXP S32K148 代码是否可以实现?问候,Prem Venkata Subbarao A #S32 #Cmake
    发表于 04-03 08:25

    Linux内核编译详谈

    Linux内核编译详谈
    发表于 08-04 00:36

    FirePrime如何编译内核

    ,(官方说内核源码和交叉编译工具链分别在SDK/kernel和SDK/prebuilts目录里)但是里面并没有kernel源码和arm-eabi-4.6交叉编译工具链。在.git同一级目录下执行下面命令
    发表于 10-19 20:18

    linux内核编译

    Linux内核编译与安装1从www.kernel.org 下载内核linux-2.6.29.1.tar.bz2包解压。并执行清理命令makedisrclean 2复制或者参考主机linux下
    发表于 10-26 14:14

    【DragonBoard 410c试用体验】cmake安装为后续opencv准备

    CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下
    发表于 10-02 22:22

    【DragonBoard 410c试用体验】使用cmake编译opencv工程

    : ${OpenCV_LIBS}")//好了,就修改这么点东西,保存,关闭。修改之后就可以输入命令sudo cmake .接着编译sudo make程序就会开始编译编译完之后就会出现opencv_example执行文件./opencv-example执行就会看到图片出现
    发表于 10-02 23:12

    【Rico Board试用体验】内核编译(简化命令)

    开发板使用的是3.12版本的内核,鉴于项目的时间要求,看时间而定是不是再移植其他版本的内核了。项目开发过程中,内核编译是不可避免的,初期可以使用模块之类的,但是成型后要编译内核的,那么内核编译
    发表于 11-09 23:58

    内核编译问题

    1. 删除编译生成文件命令 make clean, make mrproer make distcleanmake clean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config
    发表于 09-27 16:51

    RTT官网推荐的编译环境是Env,请问用keil可以吗

    RTT官网推荐的编译环境是Env,请问用keil可以吗
    发表于 01-28 06:35

    RTOS的实时内核内核解析

    使得CPU的利用更为有效。 需要指出的是,实时内核并不等于实时操作系统,实时内核只是实时操作系统的一部分。 内核是整个操作系统的基础,实时内核同样是实时操作系统的基础,目前很多实时内核采用内核结构
    发表于 02-19 06:36

    在Linux下如何使用CMake

    CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用,无需修改,非常方便。
    发表于 07-24 07:27

    内核什么时候发布?内核有何优势?

    想了解下内核什么时候发布的?内核有何优势?
    发表于 10-10 10:09

    如何以模块的方式编译内核驱动

    内核驱动不仅可以将驱动编译内核中,还可以动态的编译内核驱动。本文档介绍如何以模块的方式编译内核驱动。要动态的编译内核,首先需要将内核源码编译通过,内核编译请参考使用手册第五章
    发表于 12-28 07:50

    以module的方式编译内核驱动

    [td]内核驱动不仅可以将驱动编译内核中,还可以动态的编译内核驱动。本文档介绍如何以模块的方式编译内核驱动。以 module 的方式编译驱动,需要以下几个部分:1 内核成功编译过;2 找到内核
    发表于 12-29 06:41

    什么是内核

    什么是内核内核的发展历史内核的优缺点
    发表于 03-07 06:36

    灵动课堂 (第162讲) | MM32F013x——RTT使用技巧

    进行编译下载并查看相关的现象。04功能验证4.1MCU控制上位机打印彩色log与RTT Viewer的上位机进行连接并可以看到打印的log数据,可以看到通道0与通道1有不同的数据打印。4.2控制台发送
    发表于 04-02 18:10

    腾讯tiny os rtt nano rtt freertos MS-RTOS one os

    腾讯tiny os rtt nano rtt freertos MS-RTOS one os,主流国产RTOS物联网的时代突然爆发,催生了很多优秀的国产RTOS,十年磨一剑,然后华山论剑,下面以我
    发表于 07-16 08:33

    为什么编译驱动程序之前要先编译内核

    为什么编译驱动程序之前要先编译内核内核编译过程是怎样的?
    发表于 08-05 06:26

    高效学习Linux内核——内核模块编译

    处理程序快速响应单个中断然后最终退出而存在 。linux内核整体非常庞大,包含组件特别多,当我们把需要的部分包含到内核中,直接把需要的所有功能都编译内核中会导致内核很大,而且当需要新增或者删除功能
    发表于 09-24 09:11

    【 星空派GD32F303开发板试用体验】+RTT NANO移植

    Env 配置工具,也去除了完整版特有的 device 框架和组件,仅是一个纯净的内核。我们作为MCU开发往往无需那些过多的,有最基本的内核能完成任务调度即可,而且精简版的占用FLASH更小~RTT
    发表于 10-25 21:52

    Linux内核与MCU内核有哪些差异

    MCU的内核,如ucos-ii在编译的时候已经确认了所有的Task的代码段,堆栈段,常量端等等而且这些端都是直接和物理地址绑定,这里可以称之为编译物理地址绑定这样就会产生一个问题,如:我先开发一个
    发表于 11-03 08:17

    CMake手册的相关资料分享

    CMake 手册详解(一)https://www.cnblogs.com/coderfenghc/archive/2012/06/16/CMake_ch_01.htmlcmake快速入门https
    发表于 11-05 09:05

    什么是cmakeCMake最低版本号要求实什么?

    什么是cmakeCMake最低版本号要求实什么?
    发表于 11-22 07:08

    VisualStudio+CMake+SDCC搭建C51开发环境的方法

    目标尝试使用VS创建CMake项目, 调用SDCC编译器进行编译3. 解决方案需要的工具有安装了使用C++的桌面开发功能并且包含了用于Windows的C++ CMake工具的Visual...
    发表于 11-30 06:56

    windows内核的相关资料推荐

    Linux 是宏内核或者单内核,windows是内核,最大的区别是所有的内核功能都被整体编译在一起,形成一个单独的内核镜像文件。 优点是效率非常的高。Makefile: Ifeq…else
    发表于 12-16 07:52

    Cmake构建linux工程的步骤

    一、Cmake构建linux工程列出本人在使用的cmake文件,用于构建工程,在cmake.txt文件目录执行cmake命令自动生成makefile#指定C编译器SET
    发表于 12-16 07:16

    Linux内核编译有哪些步骤呢

    Linux内核编译步骤(PC和嵌入式)一、准备工作a) 首先,你要有一台PC(这不废话么^_^),装好了Linux。b) 安装好GCC(这个指的是host gcc,用于编译生成运行于pc机程序
    发表于 12-16 08:07

    编译内核的相关资料分享

    编译内核1. 下载内核源码:https://www.kernel.org/2. 安装图形化配置工具sudo apt-get install libncurses-dev3. 指定CPU架构和编译
    发表于 12-20 07:41

    如何建立交叉编译工具链并编译内核

    目录概述准备下载和自己开发板对应的BSP包:韦东山版Firefly版注意要用到的软件FileZilla虚拟机安装过程安装前置软件包获取内核源码和交叉编译工具链源码配置交叉编译工具链设置交叉编译工具链
    发表于 12-20 08:07

    如何在虚拟机中使用cmake-gui进行配置完成编译

    如何在虚拟机中使用cmake-gui进行配置完成编译
    发表于 12-28 06:01

    Linux内核配置方法及编译资料分享

    Linux内核配置及编译解压内核建立源码目录该目录下以patch结尾的文件为ST官方提供的补丁文件,linux-5.4.31.tar.xz为标准linux源码包。解压标准内核源码包
    发表于 02-08 06:55

    为什么要使用RTTRTT怎么用?

    RTT是什么?为什么要使用RTTRTT怎么用?
    发表于 02-16 06:17

    怎样去编译Linux内核

    怎样去编译Linux内核呢?有哪些编译步骤?
    发表于 03-03 13:04

    请问一下RTT在树莓派上怎样去搭建内核

    RTT构建的混合内核的看法一般的在 ARM Cortex-A 等处理器中,代码都是会被加载到 DRAM 中执行,而不是直接在 Flash 上执行,所以系统的启动时间将大部分的受加载时间的影响。而在
    发表于 03-31 15:00

    rtt-studio新建空白芯片工程,vscode使用rtt插件编译报错怎么解决

    rtt-studio新建空白芯片工程,rtt-studio编译通过,vscode使用rtt插件编译报错,系统版本v4.1.0,报错信息如图:
    发表于 04-14 09:40

    RTT studio添加串口V2编译会报错是为什么?

    使用rtt studio、4.0.5版本的内核,创建工程,使用串口V2,然后编译会报错
    发表于 05-05 09:49

    更新了RT-Thread4.1.0版本的内核后,软件包编译后报错是为什么

    更新了4.1.0版本的内核,但是发现有好多之前用的软件包,编译后报错,可能是缺少某些头文件造成的,还有RTC驱动,4.0.5版本和4.1.0版本的内核,在RTT-setiing内使能后,编译也会报错,4.0.3版本的就可以,希望官方看一下呗
    发表于 05-07 09:44

    RTT studio添加串口V2报错怎么办

    使用rtt studio、4.0.5版本的内核,创建工程,使用串口V2,然后编译会报错
    发表于 09-23 11:15

    4.1.0版本内核问题软件包和有些驱动编译报错是何原因

    更新了4.1.0版本的内核,但是发现有好多之前用的软件包,编译后报错,可能是缺少某些头文件造成的,还有RTC驱动,4.0.5版本和4.1.0版本的内核,在RTT-setiing内使能后,编译也会报错,4.0.3版本的就可以,希望哪位大神看一下呗
    发表于 11-09 14:11

    cmake编译生成的二进制文件无法运行是何原因?

    我用 scons 编译生成的可以正常运行,但是 scons —target=cmake 后,用 cmake 编译生成的不能正常运行cmakelists 文件如下
    发表于 01-10 15:22

    如何编译uClinux 内核

    如何编译uClinux 内核
    发表于 05-14 15:27 21次下载

    Android内核编译教程

    标准的Linux开发流程一样,Android平台开发的一个很重要的基础工作就是对其内核编译和移植。本文结合Android的开发文档以及本人的实践经验,简单介绍了Android内核编译过程,希
    发表于 06-22 09:11 93次下载

    交叉编译linux内核(raspberry_3.6.y)

    一步一步教你交叉编译linux内核,RPI的内核编译教程,小众的东西了
    发表于 11-03 17:58 25次下载

    交叉平台开源编译系统_cmake入门

    交叉平台开源编译系统_cmake入门
    发表于 01-22 13:59 9次下载

    编译内核详细配置

    编译内核详细配置
    发表于 10-30 10:04 11次下载
    <b>编译</b><b>内核</b>详细配置

    基于Arm的Linux内核编译指导

    基于Arm的Linux内核编译指导
    发表于 10-30 10:13 15次下载
    基于Arm的Linux<b>内核</b><b>编译</b>指导

    Linux内核编译过程详解

    Linux内核编译过程详解(kernel2.6.7) 花了几天才编译成功kernel2.6.7,其过程真可谓艰辛。古语有云:苦尽甘来!现在终于可以乐上一阵了。由于许多朋友对操作的顺序及某些重要的配置
    发表于 11-07 11:16 4次下载

    在Linux 2.6内核编译可以加载的内核模块解析

    在Linux 2.6内核编译可以加载的内核模块 By: Wu Yin Date: 2007-05-18 Email: lazy_fox#msn.com Homepage: http
    发表于 11-07 11:45 0次下载

    如何编译安装Linux内核

    有一个 定制过的内核2.2.16-22ghosh在我的系统中运行(我的名字叫Subhasish Ghosh,你也可以命名为其它名称,事实上在系统中有两个内核是同时运行的)下面,搜索并编译Linux内核编译
    发表于 11-07 15:46 0次下载

    CMake安装编译工具应用程序免费下载

    CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下
    发表于 08-07 08:00 2次下载
    <b>CMake</b>安装<b>编译</b>工具应用程序免费下载

    Linux内核配置编译分析的设计方案

    Linux内核配置编译分析的设计方案
    发表于 07-08 16:53 18次下载
    Linux<b>内核</b>配置<b>编译</b>分析的设计方案

    如何才能编译Linux的内核

    内核的bug ,并增加了许多新的特性。如果用户想要使用这些新特性, 或想根据自己的系统度身定制一个更高效, 更稳定的内核, 就需要重新编译内核。本文将以RedHat Linux 6.0 (kernel 2.2.5 )为操作系统平台,介绍在Linux 上进行内核编译的方法
    发表于 11-04 18:04 8次下载

    动手编译Linux内核的教程免费下载

    本文档的主要内容详细介绍的是动手编译Linux内核的教程免费下载。
    发表于 11-26 17:01 14次下载

    Google Android的操作系统内核编译图文教程

    和标准的 Linux开发流程一样, Android平台开发的一个很重要的基础工作就是对其内核编译和移植。本文结合 Android的开发文档以及本人的实践经验,简单介绍了 Android内核编译
    发表于 03-11 11:35 10次下载

    内核与宏内核的比较与分析

    混合内核实质上也是内核,而外内核是一种比较极端的设计方法,目前还处于研究阶段,所以我们就着重讨论宏内核内核两种内核
    发表于 03-17 16:05 11次下载
    <b>微</b><b>内核</b>与宏<b>内核</b>的比较与分析

    Linux内核编译与运行

    本文档的主要内容详细介绍的是Linux内核编译与运行免费下载。
    发表于 03-25 13:48 9次下载

    Linux内核与MCU内核区别

    MCU的内核,如ucos-ii在编译的时候已经确认了所有的Task的代码段,堆栈段,常量端等等而且这些端都是直接和物理地址绑定,这里可以称之为编译物理地址绑定这样就会产生一个问题,如:我先开发一个
    发表于 10-28 16:06 2次下载
    Linux<b>内核</b>与MCU<b>微</b><b>内核</b>区别

    嵌入式Linux的内核编译

    实验环境VMware Workstation PlayerUbuntu16.04kernel-3.2.tar.bz2Linux内核编译在ubuntu上编译嵌入式Linux内核,需要大家提前安装好交叉
    发表于 11-01 17:07 16次下载
    嵌入式Linux的<b>内核</b><b>编译</b>

    VisualStudio+CMake+SDCC搭建C51开发环境

    目标尝试使用VS创建CMake项目, 调用SDCC编译器进行编译3. 解决方案需要的工具有安装了使用C++的桌面开发功能并且包含了用于Windows的C++ CMake工具的Visual...
    发表于 11-21 15:51 12次下载
    VisualStudio+<b>CMake</b>+SDCC搭建C51开发环境

    STM32MP157 Linux系统移植开发篇8:Linux内核配置方法及编译

    Linux内核配置及编译解压内核建立源码目录该目录下以patch结尾的文件为ST官方提供的补丁文件,linux-5.4.31.tar.xz为标准linux源码包。解压标准内核源码包
    发表于 12-04 21:06 9次下载
    STM32MP157 Linux系统移植开发篇8:Linux<b>内核</b>配置方法及<b>编译</b>

    MM32F013x——RTT使用技巧

    SEGGER的实时传输(Real Time Transfer, RTT)是嵌入式应用中用户I/O交互的一种新技术。J-Link RTT Viewer是在调试主机上使用RTT功能的Win...
    发表于 01-25 18:34 4次下载
    MM32F013x——<b>RTT</b>使用技巧

    Tengine从入门到放弃 第1篇-Tengine Android版本编译

    Tengine Android版本编译环境System: Ubuntu18.04CMAKE: 3.15.3下载Android NDK {代码...} 克隆Tengine源码 {代码...} 编译设置ANDROID_...
    发表于 01-26 18:28 1次下载
    Tengine从入门到放弃 第1篇-Tengine Android版本<b>编译</b>

    CMake用法详解

    CMake用法详解
    发表于 10-25 16:28 0次下载

    内核编译的步骤

    内核编译的步骤,第一步:在任何一个子目录下 untar 解开新的内核源程序。
    发表于 01-14 12:53 803次阅读

    Linux编译驱动、内核及应用程序分析

    作为一名嵌入式Linux新手,在学习的过程中会遇到很多问题。写了一个驱动程序怎么编译?怎么加载进内核
    的头像 发表于 01-17 13:46 5881次阅读
    Linux<b>编译</b>驱动、<b>内核</b>及应用程序分析

    新手推荐的linux 内核编译学习

    对于linux新手来说,linux 内核编译相对有一些难度,甚至不知道如何入手,现在归纳了一下,这一篇还算比较详细的步骤,希望能对各位新手有一些帮助。
    发表于 05-06 17:09 701次阅读

    Linux内核,必要了解的编译知识

    编译内核代码的时候,使用make C=1或C=2的时候,会调用一个叫Sparse的工具,这个工具对内核代码进行检查,怎么检查呢,就是靠对那些声明过Sparse这个工具所能识别的特性的内核函数或是变量进行检查。
    发表于 05-12 09:48 359次阅读

    Linux操作系统的内核编译内幕详解

    是如何工作的。通过通读源代码,我们就可以了解系统的工作原理,这在Windows下简直是天方夜谭。其次,我们可以针对自己的情况,量体裁衣,定制适合自己的系统,这样就需要重新编译内核。  在Windows下
    发表于 04-02 14:38 168次阅读

    如何编译Linux内核

    不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。本文将以RedHat Linux 6.0
    发表于 04-02 14:46 331次阅读

    华为“鸿蒙”所涉及的内核到底是什么?

    最近内核的概念常常被大家提及,同时还有Google Fuchisa这样的内核新星,这里让我们一起来认识下内核吧。
    的头像 发表于 06-28 11:55 2736次阅读
    华为“鸿蒙”所涉及的<b>微</b><b>内核</b>到底是什么?

    什么是内核_内核的发展历史

    内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。内核只提供最基础的服务,比如多进程调度、多进程通信(IPC)等。其中进程通信是作为连接应用与用户态系统服务的桥梁。
    的头像 发表于 08-14 17:20 9434次阅读
    什么是<b>微</b><b>内核</b>_<b>微</b><b>内核</b>的发展历史

    Firefly-RK3128主板编译内核介绍

    编译内核 准备工作 安装开发包
    的头像 发表于 11-29 08:40 1292次阅读
    Firefly-RK3128主板<b>编译</b><b>内核</b>介绍

    嵌入式linux内核编译步骤

    编译嵌入式Linux内核都是通过make的不同命令来实现的,它的执行配置文件是Makefile。Linux内核中不同的目录结构里都有相应的Makefile,而不同的Makefile又通过彼此之间的依赖关系构成统一的整体,共同完成建立依存关系、建立内核等功能。
    发表于 06-19 09:30 1861次阅读
    嵌入式linux<b>内核</b>的<b>编译</b>步骤

    浅谈鸿蒙操作系统的内核

    华为在松山湖的华为开发者大会上正式宣布了鸿蒙操作系统,该系统其中一个亮点是 内核。华为声称,内核的启用,使其速度大大提升,并且在安全性上产生变革性突破,内核打破了宏内核下root即可
    的头像 发表于 10-13 12:36 5384次阅读

    鸿蒙系统设计:宏内核vs内核的基础逻辑

    当鸿蒙OS宣布开源的时候,各种空洞的炒作,几乎把国产操作系统的技术本质掩盖了,虽然笔者没亲眼见过鸿蒙的代码,也没用方舟成功编译什么程序,不过当华为官宣鸿蒙将使用内核的时候其实这款OS的风格就已经
    的头像 发表于 03-23 15:01 3475次阅读

    Cmake学习的总结(二)

    大家好,上次给大家分享了第一篇 cmake 文章:cmake学习总结(一),今天继续给大家分享cmake。那么废话就不多说,开始内容分享。
    的头像 发表于 12-24 17:54 213次阅读

    cmake管理配置ROOT项目的方法

    配置文件组成。   序号 文件名 文件说明 1 CMakeLists.txt  Cmake配置文件,用于组织项目的编译需要的库、编译的过程、编译结果 2 CMakeLists.txt.user
    的头像 发表于 01-18 17:45 2996次阅读
    <b>cmake</b>管理配置ROOT项目的方法

    如何使用CMake工具套件构建CUDA应用程序

    我希望这篇文章向您展示了 CMake 如何自然地支持构建 CUDA 应用程序。如果您是 CMake 的现有用户,请试用 CMake 3 . 9 并利用改进的 CUDA 支持。如果您不是 CMake 的现有用户,请试用 CMake 3 . 9 ,亲身体验一下它对于构建使用 CUDA 的跨平台
    的头像 发表于 04-01 17:42 2730次阅读
    如何使用<b>CMake</b>工具套件构建CUDA应用程序

    RT-Thread V4.1.0新特性CMake介绍与构建CMake工程

        CMake 支持 在 RT-Thread 4.1.0 正式发布版中,添加了对 CMake 的支持。开发者可以使用 SCons 工具来生成 CMakeLists.txt 文件。 为何要支持
    的头像 发表于 05-24 19:20 1815次阅读

    RT-Thread 4.1.0的CMake构建教程

    CMake 支持 在 RT-Thread 4.1.0 正式发布版中,添加了对 CMake 的支持。开发者可以使用 SCons 工具来生成 CMakeLists.txt 文件。 为何要支持 CMake
    的头像 发表于 05-25 11:06 1803次阅读

    例程中如何使用RTT Viewer

    例程编译后,会生成一个xx.map文件,位于工程目录下的Debug目录下,在这个xx.map文件中搜索关键字”_SEGGER_RTT”会找到一个位于RAM区域的地址,比如下图0x20000934这个地址就是我们定位到的地址,把它复制一下。
    的头像 发表于 06-08 11:12 1194次阅读

    【gcc编译优化系列】static与inline的区别与联系

    今天偶然留意到RT-Thread论坛的一个问题帖子,它的题目是RTT-VSCODE插件编译RTT工程与RTT Studio结果不符,这种编译问题是我最喜欢深扒的,于是我点进去看了看。
    的头像 发表于 07-11 09:08 1020次阅读

    GD32F310开发板试用--基于RTT Nano的RTT软件包使用

    概述 很高兴再次参加ARM中国的评测活动,本次活动是评测GD新出的一款M4内核的芯片--GD32F310K。 GD32F310K是一款基于 Arm Cortex-M4 RISC 内核的32 位通用
    的头像 发表于 08-09 11:17 868次阅读

    10个关于内核的问题

    如果有个一个不得不用内核的理由,那一定是安全。实时上疫情这几年,汽车和云的实践表明,内核几乎肯定会应用加速。我们提炼了10个关于内核的问题,如果您有兴趣,欢迎贴上你的答案,会有惊喜。
    的头像 发表于 12-13 09:55 209次阅读

    CMake的实战教程-1

    CMake 是一个跨平台的构建系统生成工具。它使用平台无关的 CMake 清单文件CMakeLists.txt,指定工程的构建过程;源码树的每个路径下都有这个文件。CMake 产生一个适用于具体平台的构建系统,用户使用这个系统构建自己的工程。
    的头像 发表于 02-14 10:42 150次阅读
    <b>CMake</b>的实战教程-1

    CMake的实战教程-2

    第一个问题,在运行`cmake .`后会产生很多垃圾文件,那么我们可以让它在一个build目录下去编译,生成的垃圾文件放在这个目录下就好了,不需要的时候直接清除即可。
    的头像 发表于 02-14 10:43 173次阅读

    CMake实战教程-1

    在学习`CMake`之前,一直都是自己在手敲`Makefile`文件,当项目的文件一旦多了起来,自己手动写`Makefile`就不是那么好玩了,也曾经了解了一下`autotools`,但是seeed
    的头像 发表于 02-28 16:17 186次阅读
    <b>CMake</b>实战教程-1

    CMake实战教程-2

    第一个问题,在运行`cmake .`后会产生很多垃圾文件,那么我们可以让它在一个build目录下去编译,生成的垃圾文件放在这个目录下就好了,不需要的时候直接清除即可。
    的头像 发表于 02-28 16:18 185次阅读

    跨平台编译工具CMake语法详解

    cmake 是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。
    的头像 发表于 03-08 15:54 106次阅读

    下载硬声App