zoukankan      html  css  js  c++  java
  • STM32上移植nuttx操作系统

    文章来源:【NuttX】浅析操作系统及NuttX在STM32平台上的移植 - 知乎 (zhihu.com)

    操作系统(Operating System),简称OS,是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。

    根据计算机组成原理,计算机由CPU(运算器+控制器),存储器,输入,输出设备组成。

    根据操作系统原理,OS由调度,内存管理,文件系统,进程间通信,计算机网络组成。

    CPU对应OS的调度(Schedule);

    内存对应OS的内存管理(Memory Management);

    存储器对应OS的文件系统(File System);

    输入/输出设备对应OS的驱动,也可以认为是文件系统(一切皆文件);

    进程间通信(Internal Process communacation)是OS提供给应用程序的通信方式。

    OS的作用就是用来管理计算机的硬件资源,并隔离硬件,提供给应用开发抽象的统一接口。另外,其本身作为系统软件,也要占用一定的硬件资源。

    本文主要介绍nuttx的下载,配置,编译,烧写,nsh运行。

    1 Nuttx介绍(Introduction)

    Linux大家都很熟悉,其有很多发行版本,比如Ubuntu,RedHat,centos等。NuttX是一种类Linux的嵌入式系统,原理和使用都非常类似与Linux。

    关键功能:

    • 符合各类重要标准
    • 核心任务管理
    • 模组化的微核心
    • 完全可抢占
    • 可扩展,高度可配置
    • 容易移植到各类新的处理器、SoC或者板级架构上
    • 先进先出和时间片轮转调度,并可以采取无节拍内核
    • 实时,具备确定性
    • 具备和POSIX/ANSI类似的任务控制,有名消息队列,计数信号量,时钟、定时器和信号,POSIX线程,环境变量和文件系统
    • 具备和VxWorks类似的任务管理和看门狗定时器
    • 具备和BSD类似的socket接口

    2 下载源代码(Download)

    git下载地址:

    git clone  nuttx

    git clonehttps://bitbucket.org/nuttx/apps.git apps

    git clonehttps://bitbucket.org/nuttx/tools.git tools

    下载完成:

    3 配置(Configuration)

    根据主板型号进行配置,我用的是STM32F103C8T6的最小系统板子

    nuttx目录下执行:./tools/configure.sh -l stm32f103-minimum:nsh

    这时可使用menuconfig进行可视化配置

    nuttx目录下执行:make menuconfig

    注意需要开启UART1,便于串口登录终端,进入nsh(nuttx shell)。

    可根据自己需要开启/关闭一些功能,进行裁剪或增加。该配置的目的是修改.config文件,而.config文件是makefile编译时所依赖的的宏配置。

    4 编译(Compile)

    nuttx目录下执行:make

    最终生成hex和bin文件。

    5 烧写bin文件

    使用J-Flash进行烧写,地址选择0x08000000(Flash的起始地址)

    6 串口连接

    sudo minicom 选择波特率与UART1一致(115200),进入nsh终端,完成移植。

    至此,就完成了nuttx在STM32F103最小系统上的移植工作,就可以在nuttx的基础上编写自己想要的驱动程序以及应用程序啦。愉快的玩耍吧~

  • 相关阅读:
    http://www.codeplex.com/ 一个不错的开源网站
    阳光灿烂每一天z
    Mercurial使用简单介绍zz
    德国人的记事本 zz
    你一定要知道的71个做饭技巧
    推荐一个原型设计软件 Balsamiq Mockups
    不能一起吃的食物
    雷电预防
    马云 + 史玉柱的40条经典语录zz
    (转)扩展ArcGIS API for Silverlight/WPF 中的TextSymbol支持角度标注
  • 原文地址:https://www.cnblogs.com/jiayezi/p/15146251.html
Copyright © 2011-2022 走看看