Microchip® Advanced Software Framework

conf_access.h File Reference

Memory access control configuration file.

Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.

#include "compiler.h"
#include "board.h"
#include "unit_tests.h"

Macros

Activation of Logical Unit Numbers
#define LUN_0   ENABLE
 On-Chip Virtual Memory. More...
 
#define LUN_1   DISABLE
 AT45DBX Data Flash. More...
 
#define LUN_2   DISABLE
 SD/MMC Card over HSMCI Slot 0. More...
 
#define LUN_3   DISABLE
 On-Board Nand Flash. More...
 
#define LUN_4   DISABLE
 Spare. More...
 
#define LUN_5   DISABLE
 Spare. More...
 
#define LUN_6   DISABLE
 Spare. More...
 
#define LUN_7   DISABLE
 Spare. More...
 
#define LUN_USB   DISABLE
 Host Mass-Storage Memory. More...
 
LUN 0 Definitions
#define VIRTUAL_MEM   LUN_0
 
#define LUN_ID_VIRTUAL_MEM   LUN_ID_0
 
#define LUN_0_INCLUDE   "virtual_mem.h"
 
#define Lun_0_test_unit_ready   virtual_test_unit_ready
 
#define Lun_0_read_capacity   virtual_read_capacity
 
#define Lun_0_unload   NULL /* Can not be unloaded */
 
#define Lun_0_wr_protect   virtual_wr_protect
 
#define Lun_0_removal   virtual_removal
 
#define Lun_0_usb_read_10   virtual_usb_read_10
 
#define Lun_0_usb_write_10   virtual_usb_write_10
 
#define Lun_0_mem_2_ram   virtual_mem_2_ram
 
#define Lun_0_ram_2_mem   virtual_ram_2_mem
 
#define LUN_0_NAME   "\"On-Chip Virtual Memory\""
 
LUN 1 Definitions
#define AT45DBX_MEM   LUN_1
 
#define LUN_ID_AT45DBX_MEM   LUN_ID_1
 
#define LUN_1_INCLUDE   "at45dbx_mem.h"
 
#define Lun_1_test_unit_ready   at45dbx_test_unit_ready
 
#define Lun_1_read_capacity   at45dbx_read_capacity
 
#define Lun_1_unload   NULL /* Can not be unloaded */
 
#define Lun_1_wr_protect   at45dbx_wr_protect
 
#define Lun_1_removal   at45dbx_removal
 
#define Lun_1_usb_read_10   at45dbx_usb_read_10
 
#define Lun_1_usb_write_10   at45dbx_usb_write_10
 
#define Lun_1_mem_2_ram   at45dbx_df_2_ram
 
#define Lun_1_ram_2_mem   at45dbx_ram_2_df
 
#define LUN_1_NAME   "\"AT45DBX Data Flash\""
 
LUN 2 Definitions
#define SD_MMC_0_MEM   LUN_2
 
#define LUN_ID_SD_MMC_0_MEM   LUN_ID_2
 
#define LUN_2_INCLUDE   "sd_mmc_mem.h"
 
#define Lun_2_test_unit_ready   sd_mmc_test_unit_ready_0
 
#define Lun_2_read_capacity   sd_mmc_read_capacity_0
 
#define Lun_2_unload   sd_mmc_unload_0
 
#define Lun_2_wr_protect   sd_mmc_wr_protect_0
 
#define Lun_2_removal   sd_mmc_removal_0
 
#define Lun_2_usb_read_10   sd_mmc_usb_read_10_0
 
#define Lun_2_usb_write_10   sd_mmc_usb_write_10_0
 
#define Lun_2_mem_2_ram   sd_mmc_mem_2_ram_0
 
#define Lun_2_ram_2_mem   sd_mmc_ram_2_mem_0
 
#define LUN_2_NAME   "\"SD/MMC Card Slot 0\""
 
LUN 3 Definitions
#define NAND_FLASH_MEM   LUN_3
 
#define LUN_ID_NAND_FLASH_MEM   LUN_ID_3
 
#define LUN_3_INCLUDE   "nand_flash_mem.h"
 
#define Lun_3_test_unit_ready   nand_flash_test_unit_ready
 
#define Lun_3_read_capacity   nand_flash_read_capacity
 
#define Lun_3_unload   NULL
 
#define Lun_3_wr_protect   nand_flash_wr_protect
 
#define Lun_3_removal   nand_flash_removal
 
#define Lun_3_usb_read_10   nand_flash_usb_read_10
 
#define Lun_3_usb_write_10   nand_flash_usb_write_10
 
#define Lun_3_mem_2_ram   nand_flash_mem_2_ram
 
#define Lun_3_ram_2_mem   nand_flash_ram_2_mem
 
#define LUN_3_NAME   "\"nand_flash on EBI\""
 
USB LUNs Definitions
#define MEM_USB   LUN_USB
 
#define LUN_ID_MEM_USB   LUN_ID_USB
 
#define LUN_USB_INCLUDE   "uhi_msc_mem.h"
 
#define Lun_usb_get_lun()   uhi_msc_mem_get_lun()
 
#define Lun_usb_test_unit_ready(lun)   uhi_msc_mem_test_unit_ready(lun)
 
#define Lun_usb_read_capacity(lun, nb_sect)   uhi_msc_mem_read_capacity(lun, nb_sect)
 
#define Lun_usb_read_sector_size(lun)   uhi_msc_mem_read_sector_size(lun)
 
#define Lun_usb_wr_protect(lun)   uhi_msc_mem_wr_protect(lun)
 
#define Lun_usb_removal()   uhi_msc_mem_removal()
 
#define Lun_usb_mem_2_ram(addr, ram)   uhi_msc_mem_read_10_ram(addr, ram)
 
#define Lun_usb_ram_2_mem(addr, ram)   uhi_msc_mem_write_10_ram(addr, ram)
 
#define LUN_USB_NAME   "\"Host Mass-Storage Memory\""
 
Actions Associated with Memory Accesses

Write here the action to associate with each memory access.

Warning
Be careful not to waste time in order not to disturb the functions.
#define memory_start_read_action(nb_sectors)
 
#define memory_stop_read_action()   main_msc_read_finish()
 
#define memory_start_write_action(nb_sectors)
 
#define memory_stop_write_action()
 
Activation of Interface Features
#define ACCESS_USB   true
 MEM <-> USB interface. More...
 
#define ACCESS_MEM_TO_RAM   false
 MEM <-> RAM interface. More...
 
#define ACCESS_STREAM   false
 Streaming MEM <-> MEM interface. More...
 
#define ACCESS_STREAM_RECORD   false
 Streaming MEM <-> MEM interface in record mode. More...
 
#define ACCESS_MEM_TO_MEM   false
 MEM <-> MEM interface. More...
 
#define ACCESS_CODEC   false
 Codec interface. More...
 
Specific Options for Access Control
#define GLOBAL_WR_PROTECT   false
 Management of a global write protection. More...
 

#define ACCESS_CODEC   false

Codec interface.

#define ACCESS_MEM_TO_MEM   false

MEM <-> MEM interface.

#define ACCESS_MEM_TO_RAM   false

MEM <-> RAM interface.

#define ACCESS_STREAM   false

Streaming MEM <-> MEM interface.

#define ACCESS_STREAM_RECORD   false

Streaming MEM <-> MEM interface in record mode.

#define ACCESS_USB   true

MEM <-> USB interface.

#define AT45DBX_MEM   LUN_1
#define GLOBAL_WR_PROTECT   false

Management of a global write protection.

#define LUN_0   ENABLE

On-Chip Virtual Memory.

#define LUN_0_INCLUDE   "virtual_mem.h"
#define Lun_0_mem_2_ram   virtual_mem_2_ram
#define LUN_0_NAME   "\"On-Chip Virtual Memory\""
#define Lun_0_ram_2_mem   virtual_ram_2_mem
#define Lun_0_read_capacity   virtual_read_capacity
#define Lun_0_removal   virtual_removal
#define Lun_0_test_unit_ready   virtual_test_unit_ready
#define Lun_0_unload   NULL /* Can not be unloaded */
#define Lun_0_usb_read_10   virtual_usb_read_10
#define Lun_0_usb_write_10   virtual_usb_write_10
#define Lun_0_wr_protect   virtual_wr_protect
#define LUN_1   DISABLE

AT45DBX Data Flash.

#define LUN_1_INCLUDE   "at45dbx_mem.h"
#define Lun_1_mem_2_ram   at45dbx_df_2_ram
#define LUN_1_NAME   "\"AT45DBX Data Flash\""
#define Lun_1_ram_2_mem   at45dbx_ram_2_df
#define Lun_1_read_capacity   at45dbx_read_capacity
#define Lun_1_removal   at45dbx_removal
#define Lun_1_test_unit_ready   at45dbx_test_unit_ready
#define Lun_1_unload   NULL /* Can not be unloaded */
#define Lun_1_usb_read_10   at45dbx_usb_read_10
#define Lun_1_usb_write_10   at45dbx_usb_write_10
#define Lun_1_wr_protect   at45dbx_wr_protect
#define LUN_2   DISABLE

SD/MMC Card over HSMCI Slot 0.

#define LUN_2_INCLUDE   "sd_mmc_mem.h"
#define Lun_2_mem_2_ram   sd_mmc_mem_2_ram_0
#define LUN_2_NAME   "\"SD/MMC Card Slot 0\""
#define Lun_2_ram_2_mem   sd_mmc_ram_2_mem_0
#define Lun_2_read_capacity   sd_mmc_read_capacity_0
#define Lun_2_removal   sd_mmc_removal_0
#define Lun_2_test_unit_ready   sd_mmc_test_unit_ready_0
#define Lun_2_unload   sd_mmc_unload_0
#define Lun_2_usb_read_10   sd_mmc_usb_read_10_0
#define Lun_2_usb_write_10   sd_mmc_usb_write_10_0
#define Lun_2_wr_protect   sd_mmc_wr_protect_0
#define LUN_3   DISABLE

On-Board Nand Flash.

#define LUN_3_INCLUDE   "nand_flash_mem.h"
#define Lun_3_mem_2_ram   nand_flash_mem_2_ram
#define LUN_3_NAME   "\"nand_flash on EBI\""
#define Lun_3_ram_2_mem   nand_flash_ram_2_mem
#define Lun_3_read_capacity   nand_flash_read_capacity
#define Lun_3_removal   nand_flash_removal
#define Lun_3_test_unit_ready   nand_flash_test_unit_ready
#define Lun_3_unload   NULL
#define Lun_3_usb_read_10   nand_flash_usb_read_10
#define Lun_3_usb_write_10   nand_flash_usb_write_10
#define Lun_3_wr_protect   nand_flash_wr_protect
#define LUN_4   DISABLE

Spare.

#define LUN_5   DISABLE

Spare.

#define LUN_6   DISABLE

Spare.

#define LUN_7   DISABLE

Spare.

#define LUN_ID_AT45DBX_MEM   LUN_ID_1
#define LUN_ID_MEM_USB   LUN_ID_USB
#define LUN_ID_NAND_FLASH_MEM   LUN_ID_3
#define LUN_ID_SD_MMC_0_MEM   LUN_ID_2
#define LUN_ID_VIRTUAL_MEM   LUN_ID_0
#define LUN_USB   DISABLE

Host Mass-Storage Memory.

Referenced by mem_name(), mem_sector_size(), and mem_unload().

#define Lun_usb_get_lun ( )    uhi_msc_mem_get_lun()

Referenced by get_nb_lun().

#define LUN_USB_INCLUDE   "uhi_msc_mem.h"
#define Lun_usb_mem_2_ram (   addr,
  ram 
)    uhi_msc_mem_read_10_ram(addr, ram)
#define LUN_USB_NAME   "\"Host Mass-Storage Memory\""

Referenced by mem_name().

#define Lun_usb_ram_2_mem (   addr,
  ram 
)    uhi_msc_mem_write_10_ram(addr, ram)
#define Lun_usb_read_capacity (   lun,
  nb_sect 
)    uhi_msc_mem_read_capacity(lun, nb_sect)

Referenced by mem_read_capacity().

#define Lun_usb_read_sector_size (   lun)    uhi_msc_mem_read_sector_size(lun)

Referenced by mem_sector_size().

#define Lun_usb_removal ( )    uhi_msc_mem_removal()

Referenced by mem_removal().

#define Lun_usb_test_unit_ready (   lun)    uhi_msc_mem_test_unit_ready(lun)

Referenced by mem_test_unit_ready().

#define Lun_usb_wr_protect (   lun)    uhi_msc_mem_wr_protect(lun)

Referenced by mem_wr_protect().

#define MEM_USB   LUN_USB
#define memory_start_read_action (   nb_sectors)

Referenced by memory_2_usb().

#define memory_start_write_action (   nb_sectors)

Referenced by usb_2_memory().

#define memory_stop_read_action ( )    main_msc_read_finish()

Referenced by memory_2_usb().

#define memory_stop_write_action ( )

Referenced by usb_2_memory().

#define NAND_FLASH_MEM   LUN_3
#define SD_MMC_0_MEM   LUN_2
#define VIRTUAL_MEM   LUN_0