Bläddra i källkod

Updated fir T40=-Beta2 Builtin SDcard

main
Mike S 5 år sedan
förälder
incheckning
4a6e3c12ce
2 ändrade filer med 9 tillägg och 6 borttagningar
  1. +3
    -3
      utility/NXP_SDHC.cpp
  2. +6
    -3
      utility/Sd2Card.h

+ 3
- 3
utility/NXP_SDHC.cpp Visa fil

@@ -6,7 +6,7 @@
//see also
//https://community.nxp.com/thread/99202

#if defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1052__)
#if defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1052__) || defined(__IMXRT1062__)

#include "core_pins.h" // include calls to kinetis.h or imxrt.h
#include "usb_serial.h" // for Serial
@@ -117,7 +117,7 @@ enum {
#define SDHC_FIFO_BUFFER_SIZE 16
#define SDHC_BLOCK_SIZE 512

#if defined(__IMXRT1052__)
#if defined(__IMXRT1052__) || defined(__IMXRT1062__)
#define MAKE_REG_MASK(m,s) (((uint32_t)(((uint32_t)(m) << s))))
#define MAKE_REG_GET(x,m,s) (((uint32_t)(((uint32_t)(x)>>s) & m)))
#define MAKE_REG_SET(x,m,s) (((uint32_t)(((uint32_t)(x) & m) << s)))
@@ -609,7 +609,7 @@ int SDHC_CardReadBlock(void * buff, uint32_t sector)
sigen |= SDHC_IRQSIGEN_DMA_MASK ;
SDHC_SYSCTL |= SDHC_SYSCTL_HCKEN;
#if defined(__IMXRT1052__)
#if defined(__IMXRT1052__) || defined(__IMXRT1062__)
SDHC_MIX_CTRL |= SDHC_MIX_CTRL_DTDSEL ; // read
SDHC_MIX_CTRL |= SDHC_MIX_CTRL_DMAEN ; // DMA
#endif

+ 6
- 3
utility/Sd2Card.h Visa fil

@@ -77,6 +77,9 @@ uint8_t const SD_CARD_TYPE_SDHC = 3;
#if defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1052__)
#include "NXP_SDHC.h"
#define BUILTIN_SDCARD 254
#elif defined(__IMXRT1062__)
#include "NXP_SDHC.h"
#define BUILTIN_SDCARD 36
#endif
//------------------------------------------------------------------------------
/**
@@ -90,7 +93,7 @@ class Sd2Card {
/* Initialize an SD flash memory card with the selected SPI clock rate
* and the SD chip select pin. */
uint8_t init(uint8_t sckRateID, uint8_t chipSelectPin) {
#if defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1052__)
#if defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1052__) || defined(__IMXRT1062__)
if (chipSelectPin == BUILTIN_SDCARD) {
chipSelectPin_ = BUILTIN_SDCARD;
uint8_t ret = SDHC_CardInit();
@@ -104,7 +107,7 @@ class Sd2Card {
uint8_t type(void) const {return type_;}
/** Returns the current value, true or false, for partial block read. */
uint8_t readBlock(uint32_t block, uint8_t* dst) {
#if defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1052__)
#if defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1052__) || defined(__IMXRT1062__)
if (chipSelectPin_ == BUILTIN_SDCARD) {
return (SDHC_CardReadBlock(dst, block) == 0) ? true : false;
}
@@ -113,7 +116,7 @@ class Sd2Card {
}
/** Return the card type: SD V1, SD V2 or SDHC */
uint8_t writeBlock(uint32_t block, const uint8_t* src) {
#if defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1052__)
#if defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1052__) || defined(__IMXRT1062__)
if (chipSelectPin_ == BUILTIN_SDCARD) {
return (SDHC_CardWriteBlock(src, block) == 0) ? true : false;
}

Laddar…
Avbryt
Spara