Fixes to RP2040 SMART flash and documentation
This commit is contained in:
parent
ac4af3ff49
commit
89d3ba44ca
@ -156,6 +156,12 @@ nsh
|
|||||||
|
|
||||||
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
|
||||||
|
|
||||||
|
nsh-flash
|
||||||
|
---------
|
||||||
|
|
||||||
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps
|
||||||
|
with SMART flash filesystem.
|
||||||
|
|
||||||
nshsram
|
nshsram
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
@ -132,6 +132,12 @@ nsh
|
|||||||
|
|
||||||
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
|
||||||
|
|
||||||
|
nsh-flash
|
||||||
|
---------
|
||||||
|
|
||||||
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps
|
||||||
|
with SMART flash filesystem.
|
||||||
|
|
||||||
nshsram
|
nshsram
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
@ -100,6 +100,12 @@ nsh
|
|||||||
|
|
||||||
Basic NuttShell configuration (console enabled in UART1, at 115200 bps).
|
Basic NuttShell configuration (console enabled in UART1, at 115200 bps).
|
||||||
|
|
||||||
|
nsh-flash
|
||||||
|
---------
|
||||||
|
|
||||||
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps
|
||||||
|
with SMART flash filesystem.
|
||||||
|
|
||||||
nshsram
|
nshsram
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
@ -97,6 +97,12 @@ nsh
|
|||||||
|
|
||||||
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
|
||||||
|
|
||||||
|
nsh-flash
|
||||||
|
---------
|
||||||
|
|
||||||
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps
|
||||||
|
with SMART flash filesystem.
|
||||||
|
|
||||||
nshsram
|
nshsram
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
===============================
|
===============================
|
||||||
Raspberry Pi Pico
|
Raspberry Pi Pico W
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
The `Raspberry Pi Pico <https://www.raspberrypi.com/products/raspberry-pi-pico/>`_ is a general purpose board supplied by
|
The `Raspberry Pi Pico <https://www.raspberrypi.com/products/raspberry-pi-pico/>`_ is a general purpose board supplied by
|
||||||
@ -38,6 +38,7 @@ Buttons and LEDs
|
|||||||
================
|
================
|
||||||
|
|
||||||
LED controlled by GPIO0 of the wireless chip (not the RP2040 processor).
|
LED controlled by GPIO0 of the wireless chip (not the RP2040 processor).
|
||||||
|
Use rp2040_extra_gpio_put(0,value) to control this LED.
|
||||||
|
|
||||||
A BOOTSEL button, which if held down when power is first
|
A BOOTSEL button, which if held down when power is first
|
||||||
applied to the board, will cause the RP2040 to boot into programming
|
applied to the board, will cause the RP2040 to boot into programming
|
||||||
@ -179,6 +180,12 @@ nsh
|
|||||||
|
|
||||||
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
|
||||||
|
|
||||||
|
nsh-flash
|
||||||
|
---------
|
||||||
|
|
||||||
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps
|
||||||
|
with SMART flash filesystem.
|
||||||
|
|
||||||
nshsram
|
nshsram
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
@ -158,6 +158,12 @@ nsh
|
|||||||
|
|
||||||
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
|
||||||
|
|
||||||
|
nsh-flash
|
||||||
|
---------
|
||||||
|
|
||||||
|
Basic NuttShell configuration (console enabled in UART0, at 115200 bps
|
||||||
|
with SMART flash filesystem.
|
||||||
|
|
||||||
nshsram
|
nshsram
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ Defconfigs
|
|||||||
- nsh
|
- nsh
|
||||||
Minimum configuration with NuttShell
|
Minimum configuration with NuttShell
|
||||||
|
|
||||||
- nsh_flash
|
- nsh-flash
|
||||||
NuttX shell with SMART flash filesystem.
|
NuttX shell with SMART flash filesystem.
|
||||||
|
|
||||||
- nshsram
|
- nshsram
|
||||||
|
@ -70,7 +70,7 @@ Defconfigs
|
|||||||
- nsh
|
- nsh
|
||||||
Minimum configuration with NuttShell
|
Minimum configuration with NuttShell
|
||||||
|
|
||||||
- nsh_flash
|
- nsh-flash
|
||||||
NuttX shell with SMART flash filesystem.
|
NuttX shell with SMART flash filesystem.
|
||||||
|
|
||||||
- nshsram
|
- nshsram
|
||||||
|
@ -65,7 +65,7 @@ Defconfigs
|
|||||||
- nsh
|
- nsh
|
||||||
Minimum configuration with NuttShell
|
Minimum configuration with NuttShell
|
||||||
|
|
||||||
- nsh_flash
|
- nsh-flash
|
||||||
NuttX shell with SMART flash filesystem.
|
NuttX shell with SMART flash filesystem.
|
||||||
|
|
||||||
- nshsram
|
- nshsram
|
||||||
|
@ -69,7 +69,7 @@ Defconfigs
|
|||||||
- nsh
|
- nsh
|
||||||
Minimum configuration with NuttShell
|
Minimum configuration with NuttShell
|
||||||
|
|
||||||
- nsh_flash
|
- nsh-flash
|
||||||
NuttX shell with SMART flash filesystem.
|
NuttX shell with SMART flash filesystem.
|
||||||
|
|
||||||
- nshsram
|
- nshsram
|
||||||
|
@ -72,7 +72,7 @@ Defconfigs
|
|||||||
- nsh
|
- nsh
|
||||||
Minimum configuration with NuttShell
|
Minimum configuration with NuttShell
|
||||||
|
|
||||||
- nsh_flash
|
- nsh-flash
|
||||||
NuttX shell with SMART flash filesystem.
|
NuttX shell with SMART flash filesystem.
|
||||||
|
|
||||||
- nshsram
|
- nshsram
|
||||||
|
@ -71,7 +71,7 @@ Defconfigs
|
|||||||
- nsh
|
- nsh
|
||||||
Minimum configuration with NuttShell
|
Minimum configuration with NuttShell
|
||||||
|
|
||||||
- nsh_flash
|
- nsh-flash
|
||||||
NuttX shell with SMART flash filesystem.
|
NuttX shell with SMART flash filesystem.
|
||||||
|
|
||||||
- nshsram
|
- nshsram
|
||||||
|
@ -129,7 +129,7 @@ int process_f2_frame_header(FAR bcmf_interface_dev_t *gbus,
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: read_f2_frame
|
* Name: bcmf_gspi_read_f2_frame
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Read and process an F2 frame.
|
* Read and process an F2 frame.
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: read_f2_frame
|
* Name: bcmf_gspi_read_f2_frame
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Read and process an F2 frame.
|
* Read and process an F2 frame.
|
||||||
|
@ -199,15 +199,21 @@
|
|||||||
|
|
||||||
#ifdef CONFIG_SMARTFS_ALIGNED_ACCESS
|
#ifdef CONFIG_SMARTFS_ALIGNED_ACCESS
|
||||||
# define SMARTFS_NEXTSECTOR(h) (smartfs_rdle16(h->nextsector))
|
# define SMARTFS_NEXTSECTOR(h) (smartfs_rdle16(h->nextsector))
|
||||||
# define SMARTFS_SET_NEXTSECTOR(h, v) smartfs_wrle16(h->nextsector, v)
|
# define SMARTFS_SET_NEXTSECTOR(h, v) smartfs_wrle16(h->nextsector, \
|
||||||
|
(uint16_t)(v))
|
||||||
|
|
||||||
# define SMARTFS_USED(h) (smartfs_rdle16(h->used))
|
# define SMARTFS_USED(h) (smartfs_rdle16(h->used))
|
||||||
# define SMARTFS_SET_USED(h, v) smartfs_wrle16(h->used, v)
|
# define SMARTFS_SET_USED(h, v) smartfs_wrle16(h->used, \
|
||||||
|
(uint16_t)(v))
|
||||||
|
|
||||||
#else
|
#else
|
||||||
# define SMARTFS_NEXTSECTOR(h) (*((uint16_t *)h->nextsector))
|
# define SMARTFS_NEXTSECTOR(h) (*((uint16_t *)h->nextsector))
|
||||||
# define SMARTFS_SET_NEXTSECTOR(h, v) ((*((uint16_t *)h->nextsector)) = v)
|
# define SMARTFS_SET_NEXTSECTOR(h, v) ((*((uint16_t *)h->nextsector)) = \
|
||||||
|
(uint16_t)(v))
|
||||||
|
|
||||||
# define SMARTFS_USED(h) (*((uint16_t *)h->used))
|
# define SMARTFS_USED(h) (*((uint16_t *)h->used))
|
||||||
# define SMARTFS_SET_USED(h, v) ((*((uint16_t *)h->used)) = v)
|
# define SMARTFS_SET_USED(h, v) ((*((uint16_t *)h->used)) = \
|
||||||
|
(uint16_t)(v))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_MTD_SMART_ENABLE_CRC
|
#ifdef CONFIG_MTD_SMART_ENABLE_CRC
|
||||||
|
@ -45,10 +45,6 @@
|
|||||||
|
|
||||||
#include "smartfs.h"
|
#include "smartfs.h"
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_FS_INFO
|
|
||||||
# include <stdio.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Type
|
* Private Type
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -532,8 +528,6 @@ static ssize_t smartfs_read(FAR struct file *filep, char *buffer,
|
|||||||
|
|
||||||
DEBUGASSERT(filep->f_priv != NULL && filep->f_inode != NULL);
|
DEBUGASSERT(filep->f_priv != NULL && filep->f_inode != NULL);
|
||||||
|
|
||||||
finfo("Reading %u bytes\n", (unsigned) buflen);
|
|
||||||
|
|
||||||
/* Recover our private data from the struct file instance */
|
/* Recover our private data from the struct file instance */
|
||||||
|
|
||||||
sf = filep->f_priv;
|
sf = filep->f_priv;
|
||||||
@ -639,18 +633,6 @@ static ssize_t smartfs_read(FAR struct file *filep, char *buffer,
|
|||||||
|
|
||||||
/* Return the number of bytes we read */
|
/* Return the number of bytes we read */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_FS_INFO
|
|
||||||
finfo("Read %lu bytes:", bytesread);
|
|
||||||
for (uint32_t i = 0; i < bytesread; ++i)
|
|
||||||
{
|
|
||||||
if ((i & 0x0f) == 0) printf("\n ");
|
|
||||||
|
|
||||||
printf("%02x, ", buffer[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ret = bytesread;
|
ret = bytesread;
|
||||||
|
|
||||||
errout_with_semaphore:
|
errout_with_semaphore:
|
||||||
@ -675,18 +657,6 @@ static ssize_t smartfs_write(FAR struct file *filep, const char *buffer,
|
|||||||
|
|
||||||
DEBUGASSERT(filep->f_priv != NULL && filep->f_inode != NULL);
|
DEBUGASSERT(filep->f_priv != NULL && filep->f_inode != NULL);
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_FS_INFO
|
|
||||||
finfo("Writing %lu bytes:", (uint32_t)buflen);
|
|
||||||
for (uint32_t i = 0; i < buflen; ++i)
|
|
||||||
{
|
|
||||||
if ((i & 0x0f) == 0) printf("\n ");
|
|
||||||
|
|
||||||
printf("%02x, ", buffer[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Recover our private data from the struct file instance */
|
/* Recover our private data from the struct file instance */
|
||||||
|
|
||||||
sf = filep->f_priv;
|
sf = filep->f_priv;
|
||||||
@ -882,7 +852,7 @@ static ssize_t smartfs_write(FAR struct file *filep, const char *buffer,
|
|||||||
/* Copy the new sector to the old one and chain it */
|
/* Copy the new sector to the old one and chain it */
|
||||||
|
|
||||||
header = (struct smartfs_chain_header_s *) sf->buffer;
|
header = (struct smartfs_chain_header_s *) sf->buffer;
|
||||||
SMARTFS_SET_NEXTSECTOR(header, (uint16_t) ret);
|
SMARTFS_SET_NEXTSECTOR(header, ret);
|
||||||
|
|
||||||
/* Now sync the file to write this sector out */
|
/* Now sync the file to write this sector out */
|
||||||
|
|
||||||
@ -938,7 +908,7 @@ static ssize_t smartfs_write(FAR struct file *filep, const char *buffer,
|
|||||||
/* Copy the new sector to the old one and chain it */
|
/* Copy the new sector to the old one and chain it */
|
||||||
|
|
||||||
header = (struct smartfs_chain_header_s *) fs->fs_rwbuffer;
|
header = (struct smartfs_chain_header_s *) fs->fs_rwbuffer;
|
||||||
SMARTFS_SET_NEXTSECTOR(header, (uint16_t) ret);
|
SMARTFS_SET_NEXTSECTOR(header, ret);
|
||||||
readwrite.offset = offsetof(struct smartfs_chain_header_s,
|
readwrite.offset = offsetof(struct smartfs_chain_header_s,
|
||||||
nextsector);
|
nextsector);
|
||||||
readwrite.buffer = (uint8_t *) header->nextsector;
|
readwrite.buffer = (uint8_t *) header->nextsector;
|
||||||
@ -971,8 +941,6 @@ static ssize_t smartfs_write(FAR struct file *filep, const char *buffer,
|
|||||||
|
|
||||||
ret = byteswritten;
|
ret = byteswritten;
|
||||||
|
|
||||||
finfo("Wrote %u bytes\n", (unsigned) byteswritten);
|
|
||||||
|
|
||||||
errout_with_semaphore:
|
errout_with_semaphore:
|
||||||
smartfs_semgive(fs);
|
smartfs_semgive(fs);
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -2031,7 +2031,7 @@ int smartfs_extendfile(FAR struct smartfs_mountpt_s *fs,
|
|||||||
/* Copy the new sector to the old one and chain it */
|
/* Copy the new sector to the old one and chain it */
|
||||||
|
|
||||||
header = (struct smartfs_chain_header_s *) sf->buffer;
|
header = (struct smartfs_chain_header_s *) sf->buffer;
|
||||||
SMARTFS_SET_NEXTSECTOR(header, (uint16_t)ret);
|
SMARTFS_SET_NEXTSECTOR(header, ret);
|
||||||
|
|
||||||
/* Now sync the file to write this sector out */
|
/* Now sync the file to write this sector out */
|
||||||
|
|
||||||
@ -2087,7 +2087,7 @@ int smartfs_extendfile(FAR struct smartfs_mountpt_s *fs,
|
|||||||
/* Copy the new sector to the old one and chain it */
|
/* Copy the new sector to the old one and chain it */
|
||||||
|
|
||||||
header = (struct smartfs_chain_header_s *)fs->fs_rwbuffer;
|
header = (struct smartfs_chain_header_s *)fs->fs_rwbuffer;
|
||||||
SMARTFS_SET_NEXTSECTOR(header, (uint16_t)ret);
|
SMARTFS_SET_NEXTSECTOR(header, ret);
|
||||||
|
|
||||||
readwrite.offset = offsetof(struct smartfs_chain_header_s,
|
readwrite.offset = offsetof(struct smartfs_chain_header_s,
|
||||||
nextsector);
|
nextsector);
|
||||||
|
Loading…
Reference in New Issue
Block a user