2016-12-21 00:49:46 +01:00
|
|
|
README
|
|
|
|
======
|
|
|
|
|
2016-12-21 19:49:03 +01:00
|
|
|
The NuttX configuration for the Olimex STM32-P407 is derives more or less
|
|
|
|
directly from the Olimex STM32-P207 board support. The P207 and P407 seem
|
|
|
|
to share the same board design. Other code comes from the STM3240G board
|
|
|
|
support (which has the same crystal and clocking) and from the STM32 F4
|
|
|
|
Discovery (which has the same STM32 part)
|
2016-12-21 00:49:46 +01:00
|
|
|
|
|
|
|
Note that CONFIG_STM32_DISABLE_IDLE_SLEEP_DURING_DEBUG is enabled so
|
|
|
|
that the JTAG connection is not disconnected by the idle loop.
|
|
|
|
|
2017-01-23 01:09:34 +01:00
|
|
|
The following peripherals are available in this configuration.
|
2016-12-21 18:38:45 +01:00
|
|
|
|
2016-12-21 00:49:46 +01:00
|
|
|
- LEDs: show the sytem status
|
|
|
|
|
|
|
|
- Buttons: TAMPER-button, WKUP-button, J1-Joystick (consists of RIGHT-,
|
|
|
|
UP-, LEFT-, DOWN-, and CENTER-button). Built in app
|
|
|
|
'buttons' works.
|
|
|
|
|
|
|
|
- ADC: ADC1 samples the red trim potentiometer AN_TR
|
|
|
|
Built in app 'adc' works.
|
|
|
|
|
|
|
|
- USB-FS-OTG: enabled but not really tested, since there is only a
|
|
|
|
USB-A-connector (host) connected to the full speed µC inputs.
|
|
|
|
The other connector (device) is connected to the high speed µC
|
|
|
|
inputs, but it seems that NuttX has currently no driver
|
|
|
|
for it.
|
|
|
|
|
2016-12-21 18:38:45 +01:00
|
|
|
- CAN: Built in app 'can' works, but apart from that not really tested.
|
2016-12-21 00:49:46 +01:00
|
|
|
|
|
|
|
- Ethernet: Ping to other station on the network works.
|
2017-01-23 01:09:34 +01:00
|
|
|
Configurations
|
|
|
|
==============
|
|
|
|
|
|
|
|
Each Olimex STM32-P407 configuration is maintained in a sub-directory and can be
|
|
|
|
selected as follow:
|
|
|
|
|
|
|
|
cd tools
|
|
|
|
./configure.sh olimex-stm32-p407/<subdir>
|
|
|
|
cd -
|
|
|
|
. ./setenv.sh
|
|
|
|
|
|
|
|
Where <subdir> is one of the following:
|
|
|
|
|
|
|
|
nsh:
|
|
|
|
|
|
|
|
This is the NuttShell (NSH) using the NSH startup logic at
|
|
|
|
apps/examples/nsh.
|
|
|
|
|
|
|
|
NOTES:
|
|
|
|
|
|
|
|
1. This configuration uses the mconf-based configuration tool. To
|
|
|
|
change this configurations using that tool, you should:
|
|
|
|
|
|
|
|
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
|
|
|
|
see additional README.txt files in the NuttX tools repository.
|
|
|
|
|
|
|
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
|
|
|
reconfiguration process.
|
|
|
|
|
|
|
|
2. Serial Output
|
|
|
|
|
|
|
|
This configuraiont produces all of its test output on the serial
|
|
|
|
console. This configuration has USART3 enabled as a serial console.
|
|
|
|
This is the connector labeled RS232_2. This can easily be changed
|
|
|
|
by reconfiguring with 'make menuconfig'.
|
|
|
|
|
|
|
|
3. Toolchain
|
|
|
|
|
|
|
|
By default, the host platform is set to be Linux using the NuttX
|
|
|
|
buildroot toolchain. The host and/or toolchain selection can easily
|
|
|
|
be changed with 'make menuconfig'.
|
|
|
|
|
|
|
|
4. Kernel Modules
|
|
|
|
|
|
|
|
I used this configuration for testing NuttX kernel modules with the
|
|
|
|
following configuration additions to the configuration file:
|
|
|
|
|
|
|
|
CONFIG_BOARDCTL_OS_SYMTAB=y
|
|
|
|
CONFIG_EXAMPLES_MODULE=y
|
|
|
|
CONFIG_EXAMPLES_MODULE_DEVMINOR=0
|
|
|
|
CONFIG_EXAMPLES_MODULE_DEVPATH="/dev/ram0"
|
|
|
|
CONFIG_FS_ROMFS=y
|
|
|
|
CONFIG_LIBC_ARCH_ELF=y
|
|
|
|
CONFIG_LIBC_DLLFCN=y
|
|
|
|
CONFIG_MODULE=y
|
|
|
|
CONFIG_MODULE_ALIGN_LOG2=2
|
|
|
|
CONFIG_MODULE_BUFFERINCR=32
|
|
|
|
CONFIG_MODULE_BUFFERSIZE=128
|
2016-12-21 18:38:45 +01:00
|
|
|
|
|
|
|
STATUS:
|
|
|
|
|
|
|
|
2016-12-21: This board configuration was ported from the Olimex STM32 P207
|
2016-12-21 19:49:03 +01:00
|
|
|
port. Note that none of the above features have been verified. USB, CAN,
|
|
|
|
ADC, and Ethernet are disabled in the base NSH configuration until they
|
|
|
|
can be verified. These features should be functional but may required
|
|
|
|
some tweaks due to the different clock configurations. The Olimex STM32
|
|
|
|
P207 nsh/defconfig would be a good starting place for restoring these
|
|
|
|
feature configurations.
|
|
|
|
|
|
|
|
CCM memory is not included in the heap (CONFIG_STM32_CCMEXCLUDE=y) because
|
|
|
|
it does no suport DMA, leaving only 128KiB for program usage.
|