Commit Graph

49 Commits

Author SHA1 Message Date
Gregory Nutt
7a6a5b7bd0 Defines a second interface for the dma2d controller. Controlling both LTDC and DMA2D was unpractical from the programmers view because both controllers are to different. LTDC only controls the display visibility but the DMA2D controller changes the content of the frame buffer (buffer of the layer).
The main features are:

1. DMA2D interface
   Supports the nuttx pixel formats:
   - FB_FMT_RGB8
   - FB_FMT_RGB24
   - FB_FMT_RGB16_565
   Dynamic layer allocation during runtime for the supported formats
   - The number of allocatable layer can be configured.
   Supported dma2d operation:
   - blit (Copy content from source to destination layer) also works with
     selectable area.
   - blend (Blend two layer and copy the result to a destination layer wich can
     be a third layer or one of the source layer) also works with selectable
     area.
   - fillarea (Fill a defined area of the whole layer with a specific color)

As a result of that the dma2d controller can't transfer data from the core coupled memory, CCM is disabled but usable by the ccm allocator. Currently the ccm allocator is used for allocating the layer structurei only. For the dma memory (layers frame buffer) memory is allocated from heap 2 and 3.

2. LTDC interface

   I have changed the api for the currently non implemented operations:
   - blit (Copy content from a dma2d layer to an ltdc layer) also works with
     selectable area.
   - blend (Blend two dma2d layer and copy the result to a destination ltdc
     layer) also  works with selectable area.

     Note! ltdc layer is a layer referenced by the ltdc interface. dma2d layer
     is a layer referenced by the dma2d interface.

     One of the most important questions for me was, How can i flexible use an
     ltdc layer with the dma2d interface, e.g. as source layer for dma2d
     operations?
     Get the layer id of the related dma2d layer by a special flag when using
     getlid() function of the ltdc interface and use the layer id to reference
     the specific dma2d layer by the dma2d interface.

     The ltdc coupled dma2d layers are predefined and can't be dynamically
     allocated of freed. They use the same frame buffer memory and the same
     color lookup table.

   Changes:
   - layer internal format of the clut table
   - interrupt handling for register reload (vertical vblank) instead using
     waiting loop
   - small fixes and refactoring

From Marco Krahl.
2015-04-16 09:11:52 -06:00
Gregory Nutt
ae15c6963c Make some file section headers more consistent with standard 2015-04-08 08:04:12 -06:00
Gregory Nutt
33ac85adcb Adds architecture support for the STM32F372 and F373 (no board support yet). Only tested on STM32F373CC, but should work on the rest. Contributed by Marten Svanfeldt. 2015-03-02 10:33:42 -06:00
Gregory Nutt
16a302e732 STM32 LTDC: Move ltdc.h from include/nuttx/video to arch/arm/include/stm32; Trivial updates after general review 2014-12-19 14:52:17 -06:00
Gregory Nutt
0ad88d9664 Enable support for STM32F102. https://github.com/PX4/NuttX/pull/28.diff 2014-11-27 06:12:35 -06:00
Gregory Nutt
c65372b80c Support for the STM32F103RG. From Murilo Ponte 2014-11-10 07:48:46 -06:00
Gregory Nutt
a835387529 Fix file mode on modified files 2014-10-14 15:45:56 -06:00
Gregory Nutt
56841b9e20 Support for the STM32 F411RE from Serg Podtynnyi 2014-10-14 15:42:28 -06:00
Gregory Nutt
b01d3e396e STM32 F401: Only 3 USARTS, but need to set STM32_NUSARTS to six because they are not numbered sequentially 2014-08-22 09:02:58 -06:00
Gregory Nutt
3010eddf11 STM32: Add configuration support fort he STM32F103RC. From Kosma Moczek 2014-06-30 08:16:17 -06:00
Gregory Nutt
48e6f0ba78 STM32: Move temperature ranges from chip selection configuration prompts. From Kosma Moczek 2014-06-30 08:09:19 -06:00
Gregory Nutt
02bb1d69b8 Add support for the STM32152 and STM32162 Medium+ density parts (plus miscellaneous other improvements to the original STM32151 logic). From Jussi Kivilinna and Sami Pelkonen 2014-05-08 09:20:11 -06:00
Gregory Nutt
6e9df4d5ab STM32: Fix STM32F100CB pin configuration (from Kosma Moczek); and make chip naming a little more consistent 2014-05-07 12:54:27 -06:00
Gregory Nutt
bfa9df89e2 STM32: Add more complication to STM32 Kconfig so the correct ADC and CAN options presented for the F401RE. There are still invalid peripheral options being presented 2014-05-06 08:32:21 -06:00
Gregory Nutt
8be212ccc3 Nucleo-F401RE: Fix memory usage 2014-04-30 08:20:30 -06:00
Gregory Nutt
162662a290 Add support for the STM32F041RE and for the Nucleo-F401RE board. From Frank Bennett 2014-04-20 13:42:23 -06:00
Gregory Nutt
162e240ed3 Fix STM32F103VE SPI3 definitions; Fix bug introduced in recent NX reorganization. From Steve Redler IV 2014-01-08 16:44:11 -06:00
Gregory Nutt
29c43b0b24 Fixes a few more high priority, nested interrupt logic 2013-12-23 11:13:56 -06:00
Gregory Nutt
3855ce04e8 Beginning of high priority nested interrupt support for the ARMv7-M family 2013-12-21 11:03:38 -06:00
Gregory Nutt
893f36c061 Support for the STM32F429 from Ken Pettit 2013-11-07 16:47:43 -06:00
Gregory Nutt
eb648c585b Add support for the STM32F207ZE chip. From Martin Lederhilger 2013-10-24 08:25:05 -06:00
Gregory Nutt
b885459624 Add framework for Spark Core board support. The initial commit is a clone of the Maple Mini and still needs Spark customizations 2013-10-02 08:24:46 -06:00
Gregory Nutt
297751897a STM32F103C4 and F103C8 chip support from Laurent Latil 2013-05-28 14:09:44 -06:00
Gregory Nutt
d32417043f Support for STM32L15xx interrupt vectors 2013-05-18 12:56:03 -06:00
Gregory Nutt
3eae56467b Begnning of support for the STM32L15X family 2013-05-18 11:15:37 -06:00
Gregory Nutt
e32eaec34a Fix typo in the STM32 F IRQ file -- from Paul Zhang 2013-04-17 20:27:43 -06:00
patacongo
370913df84 Add support for STM32 F427/437 chips. From Mike Smith
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5807 42af7a65-404d-4744-a932-0658087f49c3
2013-04-01 13:43:31 +00:00
patacongo
2440416bdc More updates for the STM32F3Discovery
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5617 42af7a65-404d-4744-a932-0658087f49c3
2013-02-06 23:09:09 +00:00
patacongo
21a6a31fad Beginnings of support for the STM32F3Discovery board
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5616 42af7a65-404d-4744-a932-0658087f49c3
2013-02-06 22:30:57 +00:00
patacongo
5ab31d456e Add option to use BASEPRI instead of PRIMASK to disable interrupts in all ARMv7-M architectures
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5546 42af7a65-404d-4744-a932-0658087f49c3
2013-01-22 01:25:40 +00:00
patacongo
04cbcfc1cf NSH will now run files from the file system; Add logic to unload and clean-up after running a task from a file system; Extensions to builtin apps from Mike Smith
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5529 42af7a65-404d-4744-a932-0658087f49c3
2013-01-17 18:32:13 +00:00
patacongo
6a43d75878 Support for non-common vectors from Freddie Chopin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5323 42af7a65-404d-4744-a932-0658087f49c3
2012-11-08 18:05:39 +00:00
patacongo
221b3b9f52 STM32 F100 High Density support and generic board configuration from Freddie Chopin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5315 42af7a65-404d-4744-a932-0658087f49c3
2012-11-06 13:36:51 +00:00
patacongo
eac0c012e2 Fixes to STM32 definitions from Freddie Chopin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5297 42af7a65-404d-4744-a932-0658087f49c3
2012-11-02 13:46:45 +00:00
patacongo
4f6b756bc2 More progress on the Wildfire STM32 port
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5121 42af7a65-404d-4744-a932-0658087f49c3
2012-09-09 21:48:25 +00:00
patacongo
11a5c81fd6 Add support for Olimex STM32-P107 board (contributed by Max Holtzberg)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5018 42af7a65-404d-4744-a932-0658087f49c3
2012-08-10 17:07:02 +00:00
patacongo
c5a7577df5 Add support for STM32F100x value line. Contributed by Mike Smith. Still missing a file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4955 42af7a65-404d-4744-a932-0658087f49c3
2012-07-19 18:02:32 +00:00
patacongo
0f06c9a678 Make name of RTC ALARM interrupt common on STM32 F1,2,4
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4954 42af7a65-404d-4744-a932-0658087f49c3
2012-07-19 14:33:14 +00:00
patacongo
1dd72a0277 Update all STM32 F2 files so that they are the same as the corresponding F4 files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4778 42af7a65-404d-4744-a932-0658087f49c3
2012-05-28 18:10:41 +00:00
patacongo
aed3afead3 Add IRQ/chip support for the STM32 F2 family
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4470 42af7a65-404d-4744-a932-0658087f49c3
2012-03-09 22:33:00 +00:00
patacongo
95518c7f3f Add support for STM32 UART4-5 and USART6
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4281 42af7a65-404d-4744-a932-0658087f49c3
2012-01-08 15:09:05 +00:00
patacongo
a126047cb3 Adds support for the STM32F103VCT6 and for the Hy-Mini STM32v board. Contributed by Laurent Latil
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4197 42af7a65-404d-4744-a932-0658087f49c3
2011-12-17 20:07:22 +00:00
patacongo
2b177b6de7 Add beginning of ethernet register definitions for the STM32 F4
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4145 42af7a65-404d-4744-a932-0658087f49c3
2011-12-07 21:36:02 +00:00
patacongo
4a26fd91d7 Add STM3240 interrupt definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4116 42af7a65-404d-4744-a932-0658087f49c3
2011-11-22 00:10:56 +00:00
patacongo
a864ab2137 Attach mem mgmt fault handle if MPU is enabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3471 42af7a65-404d-4744-a932-0658087f49c3
2011-04-06 01:51:07 +00:00
patacongo
c23f8334c8 Changing NuttX fixed size type names to C99 standard names -- things will be broken for awhile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2359 42af7a65-404d-4744-a932-0658087f49c3
2009-12-16 20:05:51 +00:00
patacongo
9ea290b8be IRQ numbering fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2100 42af7a65-404d-4744-a932-0658087f49c3
2009-09-26 21:21:59 +00:00
patacongo
c75c8bd312 Add STM32 interrupt vectors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2089 42af7a65-404d-4744-a932-0658087f49c3
2009-09-25 15:13:58 +00:00
patacongo
8f6bd7b343 Add start-up logic and irq.h header
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2088 42af7a65-404d-4744-a932-0658087f49c3
2009-09-25 14:17:18 +00:00