Some functions renamed, flash driver working somehow.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12321 110e8d01-0319-4d1e-a829-52ad28d1bb01
This commit is contained in:
parent
887ff945a9
commit
57a173c178
|
@ -296,7 +296,7 @@ static flash_error_t snor_read_sfdp(void *instance, flash_offset_t offset,
|
||||||
*
|
*
|
||||||
* @init
|
* @init
|
||||||
*/
|
*/
|
||||||
void m25qObjectInit(SNORDriver *devp) {
|
void snorObjectInit(SNORDriver *devp) {
|
||||||
|
|
||||||
osalDbgCheck(devp != NULL);
|
osalDbgCheck(devp != NULL);
|
||||||
|
|
||||||
|
@ -313,7 +313,7 @@ void m25qObjectInit(SNORDriver *devp) {
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
void m25qStart(SNORDriver *devp, const SNORConfig *config) {
|
void snorStart(SNORDriver *devp, const SNORConfig *config) {
|
||||||
|
|
||||||
osalDbgCheck((devp != NULL) && (config != NULL));
|
osalDbgCheck((devp != NULL) && (config != NULL));
|
||||||
osalDbgAssert(devp->state != FLASH_UNINIT, "invalid state");
|
osalDbgAssert(devp->state != FLASH_UNINIT, "invalid state");
|
||||||
|
@ -343,7 +343,7 @@ void m25qStart(SNORDriver *devp, const SNORConfig *config) {
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
void m25qStop(SNORDriver *devp) {
|
void snorStop(SNORDriver *devp) {
|
||||||
|
|
||||||
osalDbgCheck(devp != NULL);
|
osalDbgCheck(devp != NULL);
|
||||||
osalDbgAssert(devp->state != FLASH_UNINIT, "invalid state");
|
osalDbgAssert(devp->state != FLASH_UNINIT, "invalid state");
|
||||||
|
@ -381,7 +381,7 @@ void m25qStop(SNORDriver *devp) {
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
void m25qMemoryMap(SNORDriver *devp, uint8_t **addrp) {
|
void snorMemoryMap(SNORDriver *devp, uint8_t **addrp) {
|
||||||
wspi_command_t cmd;
|
wspi_command_t cmd;
|
||||||
|
|
||||||
/* Bus acquisition.*/
|
/* Bus acquisition.*/
|
||||||
|
@ -426,7 +426,7 @@ void m25qMemoryMap(SNORDriver *devp, uint8_t **addrp) {
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
void m25qMemoryUnmap(SNORDriver *devp) {
|
void snorMemoryUnmap(SNORDriver *devp) {
|
||||||
|
|
||||||
/* Bus acquisition.*/
|
/* Bus acquisition.*/
|
||||||
jesd216_bus_acquire(devp->config->busp, devp->config->buscfg);
|
jesd216_bus_acquire(devp->config->busp, devp->config->buscfg);
|
||||||
|
|
|
@ -160,13 +160,13 @@ typedef struct {
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
void m25qObjectInit(SNORDriver *devp);
|
void snorObjectInit(SNORDriver *devp);
|
||||||
void m25qStart(SNORDriver *devp, const SNORConfig *config);
|
void snorStart(SNORDriver *devp, const SNORConfig *config);
|
||||||
void m25qStop(SNORDriver *devp);
|
void snorStop(SNORDriver *devp);
|
||||||
#if (JESD216_BUS_MODE != JESD216_BUS_MODE_SPI) || defined(__DOXYGEN__)
|
#if (JESD216_BUS_MODE != JESD216_BUS_MODE_SPI) || defined(__DOXYGEN__)
|
||||||
#if (WSPI_SUPPORTS_MEMMAP == TRUE) || defined(__DOXYGEN__)
|
#if (WSPI_SUPPORTS_MEMMAP == TRUE) || defined(__DOXYGEN__)
|
||||||
void m25qMemoryMap(SNORDriver *devp, uint8_t ** addrp);
|
void snorMemoryMap(SNORDriver *devp, uint8_t ** addrp);
|
||||||
void m25qMemoryUnmap(SNORDriver *devp);
|
void snorMemoryUnmap(SNORDriver *devp);
|
||||||
#endif /* QSPI_SUPPORTS_MEMMAP == TRUE */
|
#endif /* QSPI_SUPPORTS_MEMMAP == TRUE */
|
||||||
#endif /* JESD216_BUS_MODE != JESD216_BUS_MODE_SPI */
|
#endif /* JESD216_BUS_MODE != JESD216_BUS_MODE_SPI */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -54,9 +54,9 @@ const uint8_t pattern[128] = {
|
||||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
||||||
};
|
};
|
||||||
|
|
||||||
SNORDriver m25q;
|
SNORDriver snor1;
|
||||||
|
|
||||||
const SNORConfig m25qcfg1 = {
|
const SNORConfig snorcfg1 = {
|
||||||
&WSPID1,
|
&WSPID1,
|
||||||
&wspicfg1
|
&wspicfg1
|
||||||
};
|
};
|
||||||
|
@ -107,56 +107,56 @@ int main(void) {
|
||||||
/*
|
/*
|
||||||
* Initializing and starting SNOR driver.
|
* Initializing and starting SNOR driver.
|
||||||
*/
|
*/
|
||||||
m25qObjectInit(&m25q);
|
snorObjectInit(&snor1);
|
||||||
m25qStart(&m25q, &m25qcfg1);
|
snorStart(&snor1, &snorcfg1);
|
||||||
|
|
||||||
/* Reading.*/
|
/* Reading.*/
|
||||||
err = flashRead(&m25q, 0, 128, buffer);
|
err = flashRead(&snor1, 0, 128, buffer);
|
||||||
if (err != FLASH_NO_ERROR)
|
if (err != FLASH_NO_ERROR)
|
||||||
chSysHalt("read error");
|
chSysHalt("read error");
|
||||||
|
|
||||||
/* Erasing the first sector and waiting for completion.*/
|
/* Erasing the first sector and waiting for completion.*/
|
||||||
(void) flashStartEraseSector(&m25q, 0);
|
(void) flashStartEraseSector(&snor1, 0);
|
||||||
err = flashWaitErase((BaseFlash *)&m25q);
|
err = flashWaitErase((BaseFlash *)&snor1);
|
||||||
if (err != FLASH_NO_ERROR)
|
if (err != FLASH_NO_ERROR)
|
||||||
chSysHalt("erase error");
|
chSysHalt("erase error");
|
||||||
|
|
||||||
/* Verifying the erase operation.*/
|
/* Verifying the erase operation.*/
|
||||||
err = flashVerifyErase(&m25q, 0);
|
err = flashVerifyErase(&snor1, 0);
|
||||||
if (err != FLASH_NO_ERROR)
|
if (err != FLASH_NO_ERROR)
|
||||||
chSysHalt("verify erase error");
|
chSysHalt("verify erase error");
|
||||||
|
|
||||||
/* Programming a pattern.*/
|
/* Programming a pattern.*/
|
||||||
err = flashProgram(&m25q, 0, 128, pattern);
|
err = flashProgram(&snor1, 0, 128, pattern);
|
||||||
if (err != FLASH_NO_ERROR)
|
if (err != FLASH_NO_ERROR)
|
||||||
chSysHalt("program error");
|
chSysHalt("program error");
|
||||||
|
|
||||||
/* Verifying the erase operation.*/
|
/* Verifying the erase operation.*/
|
||||||
err = flashVerifyErase(&m25q, 0);
|
err = flashVerifyErase(&snor1, 0);
|
||||||
if (err != FLASH_ERROR_VERIFY)
|
if (err != FLASH_ERROR_VERIFY)
|
||||||
chSysHalt("verify non-erase error");
|
chSysHalt("verify non-erase error");
|
||||||
|
|
||||||
/* Memory mapping the device.*/
|
/* Memory mapping the device.*/
|
||||||
m25qMemoryMap(&m25q, &addr);
|
snorMemoryMap(&snor1, &addr);
|
||||||
|
|
||||||
/* Unmapping the device.*/
|
/* Unmapping the device.*/
|
||||||
m25qMemoryUnmap(&m25q);
|
snorMemoryUnmap(&snor1);
|
||||||
|
|
||||||
/* Reading it back.*/
|
/* Reading it back.*/
|
||||||
memset(buffer, 0, 128);
|
memset(buffer, 0, 128);
|
||||||
err = flashRead(&m25q, 16, 128, buffer);
|
err = flashRead(&snor1, 16, 128, buffer);
|
||||||
if (err != FLASH_NO_ERROR)
|
if (err != FLASH_NO_ERROR)
|
||||||
chSysHalt("read error");
|
chSysHalt("read error");
|
||||||
|
|
||||||
/* Reading it back.*/
|
/* Reading it back.*/
|
||||||
memset(buffer, 0, 128);
|
memset(buffer, 0, 128);
|
||||||
err = flashRead(&m25q, 0, 128, buffer);
|
err = flashRead(&snor1, 0, 128, buffer);
|
||||||
if (err != FLASH_NO_ERROR)
|
if (err != FLASH_NO_ERROR)
|
||||||
chSysHalt("read error");
|
chSysHalt("read error");
|
||||||
|
|
||||||
/* Erasing again.*/
|
/* Erasing again.*/
|
||||||
(void) flashStartEraseSector(&m25q, 0);
|
(void) flashStartEraseSector(&snor1, 0);
|
||||||
err = flashWaitErase((BaseFlash *)&m25q);
|
err = flashWaitErase((BaseFlash *)&snor1);
|
||||||
if (err != FLASH_NO_ERROR)
|
if (err != FLASH_NO_ERROR)
|
||||||
chSysHalt("erase error");
|
chSysHalt("erase error");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue