[update] add keyword __no_init to disable IAR from initializing specified memory.
This commit is contained in:
parent
c924330469
commit
534239b8c1
|
@ -60,13 +60,13 @@ menu "Onboard Peripheral Drivers"
|
||||||
select RT_USING_SDIO
|
select RT_USING_SDIO
|
||||||
select RT_USING_DFS
|
select RT_USING_DFS
|
||||||
select RT_USING_DFS_ELMFAT
|
select RT_USING_DFS_ELMFAT
|
||||||
select BSP_USING_PMIC
|
|
||||||
if BSP_USING_SDMMC
|
if BSP_USING_SDMMC
|
||||||
menuconfig BSP_USING_SD_CARD
|
menuconfig BSP_USING_SDCARD
|
||||||
bool "Enable sd card"
|
bool "Enable sd card"
|
||||||
|
select BSP_USING_PMIC
|
||||||
default n
|
default n
|
||||||
if BSP_USING_SD_CARD
|
if BSP_USING_SDCARD
|
||||||
config SD_USING_DFS
|
config BSP_USING_SDCARD_FS
|
||||||
bool "sd card fatfs"
|
bool "sd card fatfs"
|
||||||
default y
|
default y
|
||||||
endif
|
endif
|
||||||
|
@ -75,7 +75,7 @@ menu "Onboard Peripheral Drivers"
|
||||||
bool "Enable eMMC (32 Gbits)"
|
bool "Enable eMMC (32 Gbits)"
|
||||||
default n
|
default n
|
||||||
if BSP_USING_EMMC
|
if BSP_USING_EMMC
|
||||||
config EMMC_USING_DFS
|
config BSP_USING_EMMC_FS
|
||||||
bool "emmc card fatfs"
|
bool "emmc card fatfs"
|
||||||
default y
|
default y
|
||||||
endif
|
endif
|
||||||
|
@ -86,7 +86,7 @@ menu "Onboard Peripheral Drivers"
|
||||||
select RT_USING_AUDIO
|
select RT_USING_AUDIO
|
||||||
select BSP_USING_PMIC
|
select BSP_USING_PMIC
|
||||||
select BSP_USING_SDMMC
|
select BSP_USING_SDMMC
|
||||||
select BSP_USING_SD_CARD
|
select BSP_USING_SDCARD
|
||||||
select SD_USING_DFS
|
select SD_USING_DFS
|
||||||
select BSP_USING_I2C
|
select BSP_USING_I2C
|
||||||
select BSP_USING_I2C2
|
select BSP_USING_I2C2
|
||||||
|
@ -96,6 +96,8 @@ menu "Onboard Peripheral Drivers"
|
||||||
bool "Enable CAMERA (ov5640)"
|
bool "Enable CAMERA (ov5640)"
|
||||||
select BSP_USING_MFX
|
select BSP_USING_MFX
|
||||||
select BSP_USING_PMIC
|
select BSP_USING_PMIC
|
||||||
|
select BSP_USING_SDMMC
|
||||||
|
select BSP_USING_SDCARD
|
||||||
select BSP_USING_I2C
|
select BSP_USING_I2C
|
||||||
select BSP_USING_I2C2
|
select BSP_USING_I2C2
|
||||||
default n
|
default n
|
||||||
|
|
|
@ -25,7 +25,7 @@ if GetDepend(['BSP_USING_NAND']):
|
||||||
if GetDepend(['BSP_USING_GBE']):
|
if GetDepend(['BSP_USING_GBE']):
|
||||||
src += Glob('ports/eth/drv_eth.c')
|
src += Glob('ports/eth/drv_eth.c')
|
||||||
|
|
||||||
if GetDepend(['BSP_USING_SD_CARD']):
|
if GetDepend(['BSP_USING_SDCARD']):
|
||||||
src += Glob('ports/drv_sdcard.c')
|
src += Glob('ports/drv_sdcard.c')
|
||||||
|
|
||||||
if GetDepend(['BSP_USING_EMMC']):
|
if GetDepend(['BSP_USING_EMMC']):
|
||||||
|
|
|
@ -18,34 +18,34 @@
|
||||||
#define LOG_TAG "drv.dfsdm"
|
#define LOG_TAG "drv.dfsdm"
|
||||||
#include <drv_log.h>
|
#include <drv_log.h>
|
||||||
|
|
||||||
#define FILTER_FIFO_SIZE (1024)
|
#define FILTER_FIFO_SIZE (1024)
|
||||||
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
||||||
__attribute__((at(0x2FFC8000)))
|
__attribute__((at(0x2FFC8000))) static rt_int32_t FILTER0_FIFO[FILTER_FIFO_SIZE];
|
||||||
#elif defined ( __GNUC__ )
|
#elif defined ( __GNUC__ )
|
||||||
__attribute__((at(0x2FFC8000)))
|
static rt_int32_t FILTER0_FIFO[FILTER_FIFO_SIZE] __attribute__((section(".Filter0Section")));
|
||||||
#elif defined(__ICCARM__)
|
#elif defined(__ICCARM__)
|
||||||
#pragma location = 0x2FFC8000
|
#pragma location = 0x2FFC8000
|
||||||
|
__no_init static rt_int32_t FILTER0_FIFO[FILTER_FIFO_SIZE];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
||||||
|
__attribute__((at(0x2FFC9000))) static rt_int32_t FILTER0_FIFO[FILTER_FIFO_SIZE];
|
||||||
|
#elif defined ( __GNUC__ )
|
||||||
|
static rt_int32_t FILTER0_FIFO[FILTER_FIFO_SIZE] __attribute__((section(".Filter1Section")));
|
||||||
|
#elif defined(__ICCARM__)
|
||||||
|
#pragma location = 0x2FFC9000
|
||||||
|
__no_init static rt_int32_t FILTER1_FIFO[FILTER_FIFO_SIZE];
|
||||||
#endif
|
#endif
|
||||||
rt_int32_t FILTER0_FIFO[FILTER_FIFO_SIZE];
|
|
||||||
|
|
||||||
#define PALY_SIZE 2048
|
#define PALY_SIZE 2048
|
||||||
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
||||||
__attribute__((at(0x2FFCA000)))
|
__attribute__((at(0x2FFCA000))) static rt_int16_t PLAY_BUF[PALY_SIZE];
|
||||||
#elif defined ( __GNUC__ )
|
#elif defined ( __GNUC__ )
|
||||||
__attribute__((at(0x2FFCA000)))
|
__attribute__((at(0x2FFCA000))) __attribute__((section(".DfsdmSection")));
|
||||||
#elif defined(__ICCARM__)
|
#elif defined(__ICCARM__)
|
||||||
#pragma location = 0x2FFCA000
|
#pragma location = 0x2FFCA000
|
||||||
|
__no_init static rt_int16_t PLAY_BUF[PALY_SIZE];
|
||||||
#endif
|
#endif
|
||||||
static rt_int16_t PLAY_BUF[PALY_SIZE];
|
|
||||||
|
|
||||||
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
|
||||||
__attribute__((at(0x2FFC9000)))
|
|
||||||
#elif defined ( __GNUC__ )
|
|
||||||
__attribute__((at(0x2FFC9000)))
|
|
||||||
#elif defined(__ICCARM__)
|
|
||||||
#pragma location = 0x2FFC9000
|
|
||||||
#endif
|
|
||||||
rt_int32_t FILTER1_FIFO[FILTER_FIFO_SIZE];
|
|
||||||
|
|
||||||
static volatile rt_uint8_t DmaLeftRecBuffCplt = 0;
|
static volatile rt_uint8_t DmaLeftRecBuffCplt = 0;
|
||||||
static volatile rt_uint8_t DmaRightRecBuffCplt = 0;
|
static volatile rt_uint8_t DmaRightRecBuffCplt = 0;
|
||||||
|
|
|
@ -49,13 +49,14 @@ struct rthw_sdio
|
||||||
};
|
};
|
||||||
|
|
||||||
#define EMMC_BUFF_SIZE 4096
|
#define EMMC_BUFF_SIZE 4096
|
||||||
|
#define EMMC_BUFF_ADDR 0x2FFCB000
|
||||||
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
||||||
rt_uint8_t cache_buf[SDIO_BUFF_SIZE] __attribute__((at(0x2FFCB000)));
|
__attribute__((at(EMMC_BUFF_ADDR))) static rt_uint8_t cache_buf[EMMC_BUFF_SIZE];
|
||||||
#elif defined(__ICCARM__)
|
|
||||||
#pragma location = 0x2FFCB000
|
|
||||||
rt_uint8_t cache_buf[EMMC_BUFF_SIZE];
|
|
||||||
#elif defined ( __GNUC__ )
|
#elif defined ( __GNUC__ )
|
||||||
rt_uint8_t cache_buf[SDIO_BUFF_SIZE] __attribute__((at(0x2FFCB000)));
|
static rt_uint8_t cache_buf[EMMC_BUFF_SIZE] __attribute__((section(".eMMCSection")));
|
||||||
|
#elif defined(__ICCARM__)
|
||||||
|
#pragma location = EMMC_BUFF_ADDR
|
||||||
|
__no_init static rt_uint8_t cache_buf[EMMC_BUFF_SIZE];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(EMMC_RX_DUMP) || defined(EMMC_TX_DUMP)
|
#if defined(EMMC_RX_DUMP) || defined(EMMC_TX_DUMP)
|
||||||
|
@ -558,7 +559,7 @@ int rt_hw_sdio_init(void)
|
||||||
}
|
}
|
||||||
INIT_DEVICE_EXPORT(rt_hw_sdio_init);
|
INIT_DEVICE_EXPORT(rt_hw_sdio_init);
|
||||||
|
|
||||||
#if defined(EMMC_USING_DFS)
|
#if defined(BSP_USING_EMMC_FS)
|
||||||
int mnt_init(void)
|
int mnt_init(void)
|
||||||
{
|
{
|
||||||
rt_device_t sd = RT_NULL;
|
rt_device_t sd = RT_NULL;
|
||||||
|
|
|
@ -28,23 +28,22 @@
|
||||||
#define JPEG_LINE_SIZE 1 * 1024
|
#define JPEG_LINE_SIZE 1 * 1024
|
||||||
|
|
||||||
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
||||||
__attribute__((at(0x2FFCC000)))
|
__attribute__((at(0x2FFCC000))) static rt_int32_t JPEG_DATA_BUF[JPEG_BUF_SIZE];
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
__attribute__((at(0x2FFCC000)))
|
static rt_int32_t JPEG_DATA_BUF[JPEG_BUF_SIZE] __attribute__((section(".Dcmi0Section")));
|
||||||
#elif defined(__ICCARM__)
|
#elif defined(__ICCARM__)
|
||||||
#pragma location = 0x2FFCC000
|
#pragma location = 0x2FFCC000
|
||||||
|
__no_init static rt_int32_t JPEG_DATA_BUF[JPEG_BUF_SIZE];
|
||||||
#endif
|
#endif
|
||||||
static rt_int32_t JPEG_DATA_BUF[JPEG_BUF_SIZE];
|
|
||||||
|
|
||||||
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
||||||
__attribute__((at(0x2FFDC000)))
|
__attribute__((at(0x2FFDC000))) static rt_int32_t JPEG_LINE_BUF[2][JPEG_LINE_SIZE];
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
__attribute__((at(0x2FFDC000)))
|
static rt_int32_t JPEG_LINE_BUF[2][JPEG_LINE_SIZE] __attribute__((section(".Dcmi1Section")));
|
||||||
#elif defined(__ICCARM__)
|
#elif defined(__ICCARM__)
|
||||||
#pragma location = 0x2FFDC000
|
#pragma location = 0x2FFDC000
|
||||||
|
__no_init static rt_int32_t JPEG_LINE_BUF[2][JPEG_LINE_SIZE];
|
||||||
#endif
|
#endif
|
||||||
static rt_int32_t JPEG_LINE_BUF[2][JPEG_LINE_SIZE];
|
|
||||||
|
|
||||||
|
|
||||||
volatile rt_uint32_t jpeg_data_len = 0;
|
volatile rt_uint32_t jpeg_data_len = 0;
|
||||||
volatile rt_uint8_t jpeg_data_ok = 0;
|
volatile rt_uint8_t jpeg_data_ok = 0;
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
#include "board.h"
|
#include "board.h"
|
||||||
|
|
||||||
#if defined(BSP_USING_SD_CARD)
|
#if defined(BSP_USING_SDCARD)
|
||||||
#include <dfs_fs.h>
|
#include <dfs_fs.h>
|
||||||
|
|
||||||
#define DRV_DEBUG
|
#define DRV_DEBUG
|
||||||
|
@ -41,14 +41,15 @@ struct rt_completion rx_comp;
|
||||||
|
|
||||||
/* SYSRAM SDMMC1/2 accesses */
|
/* SYSRAM SDMMC1/2 accesses */
|
||||||
#define SDIO_BUFF_SIZE 512
|
#define SDIO_BUFF_SIZE 512
|
||||||
|
#define SDCARD_ADDR 0x2FFC0000
|
||||||
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
||||||
__attribute__((at(0x2FFC0000)))
|
__attribute__((at(SDCARD_ADDR))) static rt_uint32_t cache_buf[SDIO_BUFF_SIZE];
|
||||||
#elif defined ( __GNUC__ )
|
#elif defined ( __GNUC__ )
|
||||||
__attribute__((at(0x2FFC0000)))
|
static rt_uint32_t cache_buf[SDIO_BUFF_SIZE] __attribute__((section(".SdCardSection")));
|
||||||
#elif defined(__ICCARM__)
|
#elif defined(__ICCARM__)
|
||||||
#pragma location = 0x2FFC0000
|
#pragma location = SDCARD_ADDR
|
||||||
|
__no_init static rt_uint32_t cache_buf[SDIO_BUFF_SIZE];
|
||||||
#endif
|
#endif
|
||||||
static rt_uint32_t cache_buf[SDIO_BUFF_SIZE];
|
|
||||||
|
|
||||||
#if defined(SDMMC_RX_DUMP) || defined(SDMMC_TX_DUMP)
|
#if defined(SDMMC_RX_DUMP) || defined(SDMMC_TX_DUMP)
|
||||||
#define __is_print(ch) ((unsigned int)((ch) - ' ') < 127u - ' ')
|
#define __is_print(ch) ((unsigned int)((ch) - ' ') < 127u - ' ')
|
||||||
|
@ -378,7 +379,7 @@ int rt_hw_sdcard_init(void)
|
||||||
}
|
}
|
||||||
INIT_DEVICE_EXPORT(rt_hw_sdcard_init);
|
INIT_DEVICE_EXPORT(rt_hw_sdcard_init);
|
||||||
|
|
||||||
#if defined(SD_USING_DFS)
|
#if defined(BSP_USING_SDCARD_FS)
|
||||||
int mnt_init(void)
|
int mnt_init(void)
|
||||||
{
|
{
|
||||||
rt_device_t sd_dev = RT_NULL;
|
rt_device_t sd_dev = RT_NULL;
|
||||||
|
|
|
@ -23,13 +23,13 @@
|
||||||
|
|
||||||
#define TX_FIFO_SIZE (4096)
|
#define TX_FIFO_SIZE (4096)
|
||||||
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
||||||
__attribute__((at(0x2FFC2000)))
|
__attribute__((at(0x2FFC2000))) static rt_uint8_t AUDIO_TX_FIFO[TX_FIFO_SIZE];
|
||||||
#elif defined ( __GNUC__ )
|
#elif defined ( __GNUC__ )
|
||||||
__attribute__((at(0x2FFC2000)))
|
static rt_uint8_t AUDIO_TX_FIFO[TX_FIFO_SIZE] __attribute__((section(".AudioSection")));
|
||||||
#elif defined(__ICCARM__)
|
#elif defined(__ICCARM__)
|
||||||
#pragma location = 0x2FFC2000
|
#pragma location = 0x2FFC2000
|
||||||
|
__no_init static rt_uint8_t AUDIO_TX_FIFO[TX_FIFO_SIZE];
|
||||||
#endif
|
#endif
|
||||||
static rt_uint8_t AUDIO_TX_FIFO[TX_FIFO_SIZE];
|
|
||||||
|
|
||||||
struct sound_device
|
struct sound_device
|
||||||
{
|
{
|
||||||
|
@ -348,7 +348,7 @@ static rt_err_t sound_start(struct rt_audio_device *audio, int stream)
|
||||||
|
|
||||||
RT_ASSERT(audio != RT_NULL);
|
RT_ASSERT(audio != RT_NULL);
|
||||||
snd_dev = (struct sound_device *)audio->parent.user_data;
|
snd_dev = (struct sound_device *)audio->parent.user_data;
|
||||||
|
|
||||||
if (stream == AUDIO_STREAM_REPLAY)
|
if (stream == AUDIO_STREAM_REPLAY)
|
||||||
{
|
{
|
||||||
LOG_D("open sound device");
|
LOG_D("open sound device");
|
||||||
|
@ -367,15 +367,11 @@ static rt_err_t sound_start(struct rt_audio_device *audio, int stream)
|
||||||
|
|
||||||
static rt_err_t sound_stop(struct rt_audio_device *audio, int stream)
|
static rt_err_t sound_stop(struct rt_audio_device *audio, int stream)
|
||||||
{
|
{
|
||||||
struct sound_device *device;
|
|
||||||
RT_ASSERT(audio != RT_NULL);
|
RT_ASSERT(audio != RT_NULL);
|
||||||
device = (struct sound_device *)audio->parent.user_data;
|
|
||||||
|
|
||||||
if (stream == AUDIO_STREAM_REPLAY)
|
if (stream == AUDIO_STREAM_REPLAY)
|
||||||
{
|
{
|
||||||
HAL_SAI_DMAStop(&hsai_BlockA2);
|
HAL_SAI_DMAStop(&hsai_BlockA2);
|
||||||
|
|
||||||
rt_device_close(device->decoder);
|
|
||||||
|
|
||||||
LOG_D("close sound device");
|
LOG_D("close sound device");
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,22 +33,22 @@ rt_base_t level;
|
||||||
#if defined(__ICCARM__)
|
#if defined(__ICCARM__)
|
||||||
/* transmit buffer */
|
/* transmit buffer */
|
||||||
#pragma location = TX_ADD_BASE
|
#pragma location = TX_ADD_BASE
|
||||||
static uint8_t txBuffer[ETH_TXBUFNB][ETH_TX_BUF_SIZE];
|
__no_init static rt_uint8_t txBuffer[ETH_TXBUFNB][ETH_TX_BUF_SIZE];
|
||||||
/* Receive buffer */
|
/* Receive buffer */
|
||||||
#pragma location = RX_ADD_BASE
|
#pragma location = RX_ADD_BASE
|
||||||
static uint8_t rxBuffer[ETH_RXBUFNB][ETH_RX_BUF_SIZE];
|
__no_init static rt_uint8_t rxBuffer[ETH_RXBUFNB][ETH_RX_BUF_SIZE];
|
||||||
/* Transmit DMA descriptors */
|
/* Transmit DMA descriptors */
|
||||||
#pragma location = TX_DMA_ADD_BASE
|
#pragma location = TX_DMA_ADD_BASE
|
||||||
static TxDmaDesc txDmaDesc[ETH_TXBUFNB];
|
__no_init static TxDmaDesc txDmaDesc[ETH_TXBUFNB];
|
||||||
/* Receive DMA descriptors */
|
/* Receive DMA descriptors */
|
||||||
#pragma location = RX_DMA_ADD_BASE
|
#pragma location = RX_DMA_ADD_BASE
|
||||||
static RxDmaDesc rxDmaDesc[ETH_RXBUFNB];
|
__no_init static RxDmaDesc rxDmaDesc[ETH_RXBUFNB];
|
||||||
|
|
||||||
#elif defined(__CC_ARM) || defined(__CLANG_ARM)
|
#elif defined(__CC_ARM) || defined(__CLANG_ARM)
|
||||||
/* transmit buffer */
|
/* transmit buffer */
|
||||||
static uint8_t txBuffer[ETH_TXBUFNB][ETH_TX_BUF_SIZE] __attribute__((at(TX_ADD_BASE)));
|
static rt_uint8_t txBuffer[ETH_TXBUFNB][ETH_TX_BUF_SIZE] __attribute__((at(TX_ADD_BASE)));
|
||||||
/* Receive buffer */
|
/* Receive buffer */
|
||||||
static uint8_t rxBuffer[ETH_RXBUFNB][ETH_RX_BUF_SIZE] __attribute__((at(RX_ADD_BASE)));
|
static rt_uint8_t rxBuffer[ETH_RXBUFNB][ETH_RX_BUF_SIZE] __attribute__((at(RX_ADD_BASE)));
|
||||||
/* Transmit DMA descriptors */
|
/* Transmit DMA descriptors */
|
||||||
static TxDmaDesc txDmaDesc[ETH_TXBUFNB] __attribute__((at(TX_DMA_ADD_BASE)));
|
static TxDmaDesc txDmaDesc[ETH_TXBUFNB] __attribute__((at(TX_DMA_ADD_BASE)));
|
||||||
/* Receive DMA descriptors */
|
/* Receive DMA descriptors */
|
||||||
|
@ -56,13 +56,13 @@ static RxDmaDesc rxDmaDesc[ETH_RXBUFNB] __attribute__((at(RX_DMA_ADD_BASE)));
|
||||||
|
|
||||||
#elif defined ( __GNUC__ )
|
#elif defined ( __GNUC__ )
|
||||||
/* transmit buffer */
|
/* transmit buffer */
|
||||||
static uint8_t txBuffer[ETH_TXBUFNB][ETH_TX_BUF_SIZE] __attribute__((at(TX_ADD_BASE)));
|
static rt_uint8_t txBuffer[ETH_TXBUFNB][ETH_TX_BUF_SIZE] __attribute__((section(".TxArraySection")));
|
||||||
/* Receive buffer */
|
/* Receive buffer */
|
||||||
static uint8_t rxBuffer[ETH_RXBUFNB][ETH_RX_BUF_SIZE] __attribute__((at(RX_ADD_BASE)));
|
static rt_uint8_t rxBuffer[ETH_RXBUFNB][ETH_RX_BUF_SIZE] __attribute__((section(".RxArraySection")));
|
||||||
/* Transmit DMA descriptors */
|
/* Transmit DMA descriptors */
|
||||||
static TxDmaDesc txDmaDesc[ETH_TXBUFNB] __attribute__((at(TX_DMA_ADD_BASE)));
|
static TxDmaDesc txDmaDesc[ETH_TXBUFNB] __attribute__((section(".TxDecripSection")));
|
||||||
/* Receive DMA descriptors */
|
/* Receive DMA descriptors */
|
||||||
static RxDmaDesc rxDmaDesc[ETH_RXBUFNB] __attribute__((at(RX_DMA_ADD_BASE)));
|
static RxDmaDesc rxDmaDesc[ETH_RXBUFNB] __attribute__((section(".RxDecripSection")));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//Current transmit descriptor
|
//Current transmit descriptor
|
||||||
|
|
Loading…
Reference in New Issue