zoukankan      html  css  js  c++  java
  • uTenux——软件底层驱动组织结构介绍

    经过第一节对uTenux初步认识和第二节对uTenuxAT91SAM3S4C开发板的硬件结构的介绍,这一节我们将要学习的是uTenuxAT91SAM3S4C的软件底层驱动。

    在悠龙公司的官网或者uTenuxAT91SAM3S4C开发套件的光盘中我们都可以找mdk_source这样也该文件夹或压缩包。这个和第一讲中提到了uTenux_V1.5.00r160压缩包将是我们未来这段时间主要学习和完善的内容了。

    下面是mdk_source文件夹下的目录内容:

    ├─01-Nandflash

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─02-SD card

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─03-USART

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─04-usart_rs485

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─05-Uart

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─06-LCD

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─07-SPI_Touchscreen

    │  ├─inc

    │  │  ├─include

    │  │  └─lib

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─08-Led_Controller

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─13-ADC12

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─15-fatfs_nandflash

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─16-cm3_bit_banding

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─17-CRCCU

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─18-dac12-sinewave

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─19-effc_uniqueid

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─20-lowpower

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─21-pmc_clock_switching

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─22-pwm_pdc

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─23-RTC

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─24-RTT

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─25-OS

    │  ├─CoOS

    │  │  ├─Document

    │  │  ├─kernel

    │  │  └─portable

    │  │      ├─IAR

    │  │      └─Keil

    │  ├─RTX

    │  │  └─RTX_Blinky

    │  │      ├─Lst

    │  │      └─Obj

    │  └─uCosII-2.52_SAM3S_FLAG

    │      ├─GPIO

    │      ├─MCUTarget

    │      ├─project

    │      ├─ReadMe

    │      ├─uCOS-II

    │      │  ├─Ports

    │      │  │  └─ARM-Cortex-M3

    │      │  │      └─Generic

    │      │  │          ├─IAR

    │      │  │          └─RealView

    │      │  └─Source

    │      └─UserApp

    ├─common

    │  ├─chip

    │  │  ├─cmsis

    │  │  ├─include

    │  │  └─source

    │  ├─fat

    │  ├─LIB

    │  ├─memories

    │  │  ├─build

    │  │  │  └─mdk

    │  │  ├─include

    │  │  ├─nandflash

    │  │  ├─norflash

    │  │  ├─sdmmc

    │  │  └─spi-flash

    │  ├─peripherals

    │  │  ├─include

    │  │  └─source

    │  ├─startup

    │  └─usb

    │      ├─common

    │      │  ├─audio

    │      │  ├─cdc

    │      │  ├─core

    │      │  └─hid

    │      ├─device

    │      │  ├─audio-speaker

    │      │  ├─audio-speakerphone

    │      │  ├─ccid

    │      │  ├─cdc-serial

    │      │  │  └─drv

    │      │  ├─composite

    │      │  │  └─drv

    │      │  ├─core

    │      │  ├─hid-keyboard

    │      │  ├─hid-mouse

    │      │  ├─hid-transfer

    │      │  └─massstorage

    │      └─include

    ├─USB_Audio_Headphone

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─Usb_Cdc_Serial

    │  ├─driver

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    ├─Usb_Hid_Keyboard

    │  ├─inc

    │  ├─project

    │  │  ├─flash

    │  │  └─sram

    │  ├─ReadMe

    │  └─src

    └─Usb_Massstorage

        ├─inc

        ├─project

        │  ├─flash

        │  └─sram

        ├─ReadMe

    └─src

    看到上面的目录内容是不是已经心里有点慌,底气不足了呀,嘿嘿,别急,其实这个目录下的内容可以分为3个部分,其中我认为最重要的就是common这个文件夹。Common文件夹的作用就如他的名字一样,这里面有各种底层的驱动。其中的commonchip目录下是针对AT91SAM3S4C控制器的底层驱动,这个类似于STM32的底层驱动,这个也就是所谓的Cotex M系列处理其软件设计的好处了。虽然各生产商提供的底层驱动库书写命名不大相同,但是对于应用他们的原理是一样的也就是对于AT91SAM3S4C的Cotex内核驱动和其外围的驱动。另外在commonstartup中是AT91SAM3S4C的启动文件,就不多言了。Commonfat文件夹下是文件系统,但是目前是空的,应该是需要我们去完善了。CommonLIB里面是以及编译了的库文件,我们对此不必太关心,如果用KEIL编程也许不会用到。CommonPeripherals目录下是对于uTenuxAT91SAM3S4C开发板的驱动文件,我们以后要好好研究这个文件夹了。Commonmemories文件夹下是对开发板上的NAND Flash的底层驱动。

    还有一个文件夹就commonUSB,这个望文生义,我就不在细说了。Common文件夹下主要就是这些文件了,还有一些零散的文件,这些是在我们用板载的NandFlash时的启动文件,后面应用时会讲解其用法。

    在mdk_source中有3部分文件夹,刚才说了最重要的部分---common,接下来说一下第二部分。第二部分是我们对common文件夹下内容的具体应用,就是01-Nandflash-à25-OS这25个文件夹了,这些基本把uTenuxAT91SAM3S4C开发板的功能应用了,不过也就是仅仅简单的调试了下硬件而已,并没有把这款开发板的功能发挥的淋漓精致,所以还需我们努力,去充分的运用这款开发板,实现他的应用价值。

    最后一部分就USB部分了,这一部分是针对AT91SAM3S4C处理器自带的USB接口的应用,像HID设备,存储设备等功能的实现。另外还有一个文件Clean_Bin_Files.bat,这个批处理文件使用来清除由KEIL编译后生成的目标文件的。

    以上便是对mdk_source文件夹的讲解,至此结束这一节吧。下一节主要讲怎样重新整理common文件夹结构,以方便我们今后的使用,以及怎样添加我们用到的处理器外设驱动和开发板的外设驱动,以保证不用的外设不添加驱动,使得减小我们的编译时间。

    OK,这一节结束。谢谢您的阅读,希望您留下宝贵的意见建议,谢谢!

  • 相关阅读:
    链表--判断一个链表是否为回文结构
    矩阵--“之”字形打印矩阵
    二叉树——平衡二叉树,二叉搜索树,完全二叉树
    链表--反转单向和双向链表
    codeforces 490C. Hacking Cypher 解题报告
    codeforces 490B.Queue 解题报告
    BestCoder19 1001.Alexandra and Prime Numbers(hdu 5108) 解题报告
    codeforces 488A. Giga Tower 解题报告
    codeforces 489C.Given Length and Sum of Digits... 解题报告
    codeforces 489B. BerSU Ball 解题报告
  • 原文地址:https://www.cnblogs.com/BruceLone/p/3348736.html
Copyright © 2011-2022 走看看