From c13a632f598d0b7b14af819438b3d699f546a34f Mon Sep 17 00:00:00 2001 From: patacongo Date: Sat, 12 Dec 2009 15:16:44 +0000 Subject: Update porting guide git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2324 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/Documentation/NuttxPortingGuide.html | 191 ++++++++++++++++++++++++++++- nuttx/include/nuttx/fb.h | 4 +- nuttx/include/nuttx/mtd.h | 6 +- 3 files changed, 194 insertions(+), 7 deletions(-) diff --git a/nuttx/Documentation/NuttxPortingGuide.html b/nuttx/Documentation/NuttxPortingGuide.html index 93c629fe5..b401adcdb 100644 --- a/nuttx/Documentation/NuttxPortingGuide.html +++ b/nuttx/Documentation/NuttxPortingGuide.html @@ -12,7 +12,7 @@

NuttX RTOS Porting Guide

-

Last Updated: November 17, 2009

+

Last Updated: December 12, 2009

@@ -115,7 +115,9 @@ 6.3.1 Ethernet Device Drivers
6.3.2 SPI Device Drivers
6.3.3 I2C Device Drivers
- 6.3.4 Serial Device Drivers + 6.3.4 Serial Device Drivers
+ 6.3.5 Frame Buffer Drivers
+ 6.3.6 Memory Technology Device Drivers Appendix A: NuttX Configuration Settings
@@ -1909,6 +1911,191 @@ extern void up_ledoff(int led); +

6.3.5 Frame Buffer Drivers

+ + +

+ The following are provided only if the video hardware supports a hardware cursor: +

+ + +
  • + Binding Frame Buffer Drivers. + Frame buffer drivers are not normally directly accessed by user code, but are usually bound to another, + higher level device driver. + In general, the binding sequence is: + +
  • +
  • + Examples: + arch/sim/src/up_framebuffer.c. + See also the usage of the frame buffer driver in the graphics/ directory. +
  • + + +

    6.3.6 Memory Technology Device Drivers

    + + +

    + Some devices may support byte oriented reads (optional). + Most MTD devices are inherently block oriented so byte-oriented writing is not supported. + It is recommended that low-level drivers not support read() if it requires buffering. +

    + +

    + Support other, less frequently used commands: +

    + +

    + is provided via a sinble ioctl method (see include/nuttx/ioctl.h): +

    + + +
  • + Binding MTD Drivers. + MTD drivers are not normally directly accessed by user code, but are usually bound to another, + higher level device driver. + In general, the binding sequence is: + +
  • +
  • + Examples: + drivers/mtd/m25px.c and drivers/mtd/ftl.c +
  • + + +

    6.3.7 SDIO Device Drivers

    + + +

    + Event/Callback support: +

    + +

    + DMA support: +

    + + +
  • + Binding SDIO Drivers. + SDIO drivers are not normally directly accessed by user code, but are usually bound to another, + higher level device driver. + In general, the binding sequence is: + +
  • +
  • + Examples: + arch/arm/src/stm32/stm32_sdio.c and drivers/mmcsd/mmcsd_sdio.c +
  • + +
    diff --git a/nuttx/include/nuttx/fb.h b/nuttx/include/nuttx/fb.h index ead9ddf9b..abbef7ded 100644 --- a/nuttx/include/nuttx/fb.h +++ b/nuttx/include/nuttx/fb.h @@ -298,13 +298,13 @@ struct fb_vtable_s int (*getvideoinfo)(FAR struct fb_vtable_s *vtable, FAR struct fb_videoinfo_s *vinfo); int (*getplaneinfo)(FAR struct fb_vtable_s *vtable, int planeno, FAR struct fb_planeinfo_s *pinfo); - /* The following is provided only if the video hardware supports RGB color mapping */ + /* The following are provided only if the video hardware supports RGB color mapping */ #ifdef CONFIG_FB_CMAP int (*getcmap)(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap); int (*putcmap)(FAR struct fb_vtable_s *vtable, FAR const struct fb_cmap_s *cmap); #endif - /* The following is provided only if the video hardware supports a hardware cursor */ + /* The following are provided only if the video hardware supports a hardware cursor */ #ifdef CONFIG_FB_HWCURSOR int (*getcursor)(FAR struct fb_vtable_s *vtable, FAR struct fb_cursorattrib_s *attrib); diff --git a/nuttx/include/nuttx/mtd.h b/nuttx/include/nuttx/mtd.h index f15bfe373..29666ca11 100644 --- a/nuttx/include/nuttx/mtd.h +++ b/nuttx/include/nuttx/mtd.h @@ -94,9 +94,9 @@ struct mtd_dev_s ssize_t (*bwrite)(FAR struct mtd_dev_s *dev, off_t startblock, size_t nblocks, FAR const ubyte *buffer); - /* Some devices may support byte oriented read (optional). Byte-oriented - * writing is inherently block oriented on most MTD devices and is not supported. - * It is recommended that low-level drivers not support read() if it requires + /* Some devices may support byte oriented reads (optional). Most MTD devices + * are inherently block oriented so byte-oriented writing is not supported. It + * is recommended that low-level drivers not support read() if it requires * buffering. */ -- cgit v1.2.3