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,这一节结束。谢谢您的阅读,希望您留下宝贵的意见建议,谢谢!

  • 相关阅读:
    day3-python之函数进阶(三)
    day3-python之函数初识(二)
    day3-python之文件操作(一)
    tomcat
    集群
    nginx
    nginx--zabbix监控status waiting
    zabbix监控之mysql主从状态&mysql主从延迟
    zabbix监控之进程&日志监控
    zabbix监控流程(监控linux上某个文件是否有改动)
  • 原文地址:https://www.cnblogs.com/BruceLone/p/3348736.html
Copyright © 2011-2022 走看看