Skip to content

Commit 97329ef

Browse files
committed
push the generic_f4 branch to master
1 parent ff53626 commit 97329ef

118 files changed

Lines changed: 2577 additions & 4107 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

STM32F1/libraries/SPI/src/SPI.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -391,11 +391,11 @@ uint8 SPIClass::dmaTransfer(void * transmitBuf, void * receiveBuf, uint16 length
391391
spi_rx_dma_enable(_currentSetting->spi_d);
392392
dma_xfer_size dma_bit_size = (_currentSetting->dataSize==DATA_SIZE_16BIT) ? DMA_SIZE_16BITS : DMA_SIZE_8BITS;
393393
dma_setup_transfer(_currentSetting->spiDmaDev, _currentSetting->spiRxDmaChannel, &_currentSetting->spi_d->regs->DR, dma_bit_size,
394-
receiveBuf, dma_bit_size, (DMA_MINC_MODE | DMA_TRNS_CMPLT));// receive buffer DMA
394+
receiveBuf, dma_bit_size, (DMA_MINC_MODE));// receive buffer DMA
395395
dma_set_num_transfers(_currentSetting->spiDmaDev, _currentSetting->spiRxDmaChannel, length);
396396

397397
// TX
398-
uint32 flags = (DMA_MINC_MODE | DMA_FROM_MEM | DMA_TRNS_CMPLT);
398+
uint32 flags = (DMA_MINC_MODE | DMA_FROM_MEM);
399399
spi_tx_dma_enable(_currentSetting->spi_d);
400400
if ( transmitBuf==0 ) {
401401
static uint8_t ff = 0XFF;
@@ -407,13 +407,13 @@ uint8 SPIClass::dmaTransfer(void * transmitBuf, void * receiveBuf, uint16 length
407407
dma_set_num_transfers(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel, length);
408408

409409
dma_enable(_currentSetting->spiDmaDev, _currentSetting->spiRxDmaChannel);// enable receive
410+
dma_clear_isr_bits(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel);
410411
dma_enable(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel);// enable transmit
411412

412413
uint32_t m = millis();
413414
while ((dma_get_isr_bits(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel) & DMA_ISR_TCIF1)==0) {//Avoid interrupts and just loop waiting for the flag to be set.
414415
if ((millis() - m) > DMA_TIMEOUT) { b = 2; break; }
415416
}
416-
dma_clear_isr_bits(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel);
417417

418418
while (spi_is_tx_empty(_currentSetting->spi_d) == 0); // "5. Wait until TXE=1 ..."
419419
while (spi_is_busy(_currentSetting->spi_d) != 0); // "... and then wait until BSY=0 before disabling the SPI."
@@ -443,14 +443,13 @@ uint8 SPIClass::dmaSend(void * transmitBuf, uint16 length, bool minc)
443443
dma_setup_transfer(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel, &_currentSetting->spi_d->regs->DR, dma_bit_size,
444444
transmitBuf, dma_bit_size, flags);// Transmit buffer DMA
445445
dma_set_num_transfers(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel, length);
446+
dma_clear_isr_bits(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel);
446447
dma_enable(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel);// enable transmit
447448

448-
// while (dma1_ch3_Active);
449449
uint32_t m = millis();
450450
while ((dma_get_isr_bits(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel) & DMA_ISR_TCIF1)==0) {//Avoid interrupts and just loop waiting for the flag to be set.
451451
if ((millis() - m) > DMA_TIMEOUT) { b = 2; break; }
452452
}
453-
dma_clear_isr_bits(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel);
454453

455454
while (spi_is_tx_empty(_currentSetting->spi_d) == 0); // "5. Wait until TXE=1 ..."
456455
while (spi_is_busy(_currentSetting->spi_d) != 0); // "... and then wait until BSY=0 before disabling the SPI."

STM32F4/boards.txt

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#
22

3+
menu.usb_cfg=USB configuration
4+
35
##############################################################
46
discovery_f407.name=STM32 Discovery F407
57

@@ -29,6 +31,49 @@ discovery_f407.build.error_led_port=GPIOD
2931
discovery_f407.build.error_led_pin=14
3032
discovery_f407.build.board=STM32DiscoveryF407
3133

34+
discovery_f407.menu.usb_cfg.usb_nc=USB inactive
35+
discovery_f407.menu.usb_cfg.usb_nc.build.cpu_flags=-DUSB_NC
36+
discovery_f407.menu.usb_cfg.usb_serial=USB serial (CDC)
37+
discovery_f407.menu.usb_cfg.usb_serial.build.cpu_flags=-DSERIAL_USB
38+
discovery_f407.menu.usb_cfg.usb_msc=USB Mass Storage (MSC)
39+
discovery_f407.menu.usb_cfg.usb_msc.build.cpu_flags=-DUSB_MSC
40+
##############################################################
41+
generic_f407v.name=Generic STM32F407V series
42+
43+
generic_f407v.upload.tool=stlink_upload
44+
generic_f407v.upload.protocol=stlink
45+
46+
generic_f407v.upload.file_type=bin
47+
generic_f407v.upload.ram.maximum_size=131072
48+
generic_f407v.upload.flash.maximum_size=514288
49+
generic_f407v.upload.maximum_size=514288
50+
51+
#generic_f407v.upload.usbID=0483:3748
52+
#generic_f407v.upload.altID=1
53+
#generic_f407v.upload.auto_reset=true
54+
55+
generic_f407v.build.mcu=cortex-m4
56+
generic_f407v.build.f_cpu=168000000L
57+
generic_f407v.build.core=maple
58+
generic_f407v.build.extra_flags=-mthumb -DSTM32_HIGH_DENSITY -DSTM32F4 -DBOARD_generic_f407v
59+
generic_f407v.build.ldscript=ld/jtag.ld
60+
generic_f407v.build.variant=generic_f407v
61+
generic_f407v.build.variant_system_lib=lib_f407.a
62+
generic_f407v.build.vect=VECT_TAB_BASE
63+
generic_f407v.build.density=STM32_HIGH_DENSITY
64+
generic_f407v.build.error_led_port=GPIOA
65+
generic_f407v.build.error_led_pin=7
66+
generic_f407v.build.board=STM32GenericF407VET6
67+
68+
generic_f407v.menu.usb_cfg.usb_nc=USB inactive
69+
generic_f407v.menu.usb_cfg.usb_nc.build.cpu_flags=-DUSB_NC
70+
71+
generic_f407v.menu.usb_cfg.usb_serial=USB serial (CDC)
72+
generic_f407v.menu.usb_cfg.usb_serial.build.cpu_flags=-DSERIAL_USB
73+
74+
generic_f407v.menu.usb_cfg.usb_msc=USB Mass Storage (MSC)
75+
generic_f407v.menu.usb_cfg.usb_msc.build.cpu_flags=-DUSB_MSC
76+
3277
##############################################################
3378
stm32f4stamp.name=STM32F4Stamp F405
3479

@@ -49,7 +94,7 @@ stm32f4stamp.upload.dfuse_addr=0x8000000
4994
stm32f4stamp.build.mcu=cortex-m4
5095
stm32f4stamp.build.f_cpu=168000000L
5196
stm32f4stamp.build.core=maple
52-
stm32f4stamp.build.extra_flags=-DMCU_STM32F406VG -mthumb -DSTM32_HIGH_DENSITY -DSTM32F2 -DSTM32F4 -DBOARD_discovery_f4
97+
stm32f4stamp.build.extra_flags=-DMCU_STM32F406VG -mthumb -DSTM32_HIGH_DENSITY -DSTM32F4 -DBOARD_discovery_f4
5398
stm32f4stamp.build.ldscript=ld/jtag.ld
5499
stm32f4stamp.build.variant=discovery_f407
55100
stm32f4stamp.build.variant_system_lib=lib_f407.a
@@ -59,6 +104,12 @@ stm32f4stamp.build.error_led_port=GPIOD
59104
stm32f4stamp.build.error_led_pin=14
60105
stm32f4stamp.build.board=STM32F4StampF405
61106

107+
stm32f4stamp.menu.usb_cfg.usb_nc=USB inactive
108+
stm32f4stamp.menu.usb_cfg.usb_nc.build.cpu_flags=-DUSB_NC
109+
stm32f4stamp.menu.usb_cfg.usb_serial=USB serial (CDC)
110+
stm32f4stamp.menu.usb_cfg.usb_serial.build.cpu_flags=-DSERIAL_USB
111+
stm32f4stamp.menu.usb_cfg.usb_msc=USB Mass Storage (MSC)
112+
stm32f4stamp.menu.usb_cfg.usb_msc.build.cpu_flags=-DUSB_MSC
62113
##############################################################
63114
netduino2plus.name=Netduino2 F405
64115

@@ -79,7 +130,7 @@ netduino2plus.upload.dfuse_addr=0x8000000
79130
netduino2plus.build.mcu=cortex-m4
80131
netduino2plus.build.f_cpu=168000000L
81132
netduino2plus.build.core=maple
82-
netduino2plus.build.extra_flags=-DMCU_STM32F406VG -mthumb -DSTM32_HIGH_DENSITY -DSTM32F2 -DSTM32F4 -DBOARD_discovery_f4 -DARDUINO_STM32F4_NETDUINO2PLUS
133+
netduino2plus.build.extra_flags=-DMCU_STM32F406VG -mthumb -DSTM32_HIGH_DENSITY -DSTM32F4 -DBOARD_discovery_f4 -DARDUINO_STM32F4_NETDUINO2PLUS
83134
netduino2plus.build.ldscript=ld/jtag.ld
84135
netduino2plus.build.variant=discovery_f407
85136
netduino2plus.build.variant_system_lib=lib_f407.a
@@ -89,5 +140,11 @@ netduino2plus.build.error_led_port=GPIOD
89140
netduino2plus.build.error_led_pin=14
90141
netduino2plus.build.board=Netduino2F405
91142

143+
netduino2plus.menu.usb_cfg.usb_nc=USB inactive
144+
netduino2plus.menu.usb_cfg.usb_nc.build.cpu_flags=-DUSB_NC
145+
netduino2plus.menu.usb_cfg.usb_serial=USB serial (CDC)
146+
netduino2plus.menu.usb_cfg.usb_serial.build.cpu_flags=-DSERIAL_USB
147+
netduino2plus.menu.usb_cfg.usb_msc=USB Mass Storage (MSC)
148+
netduino2plus.menu.usb_cfg.usb_msc.build.cpu_flags=-DUSB_MSC
92149
##############################################################
93150

STM32F4/cores/maple/Arduino.h

Lines changed: 0 additions & 6 deletions
This file was deleted.

STM32F4/cores/maple/Client.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1818
*/
1919

20-
#ifndef client_h
21-
#define client_h
20+
#ifndef _CLIENT_H_
21+
#define _CLIENT_H_
22+
2223
#include "Print.h"
2324
#include "Stream.h"
2425
#include "IPAddress.h"

STM32F4/cores/maple/HardwareTimer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333

3434
// TODO [0.1.0] Remove deprecated pieces, pick a better API
3535

36-
#include "timer.h"
36+
#include <libmaple/timer.h>
3737

3838
/** Timer mode. */
3939
typedef timer_mode TimerMode;

STM32F4/cores/maple/IPAddress.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1818
*/
1919

20-
#ifndef IPAddress_h
21-
#define IPAddress_h
20+
#ifndef _IPAddress_h_
21+
#define _IPAddress_h_
2222

2323
#include <stdint.h>
2424
#include <WString.h>

STM32F4/cores/maple/Server.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1818
*/
1919

20-
#ifndef server_h
21-
#define server_h
20+
#ifndef _SERVER_H_
21+
#define _SERVER_H_
2222

2323
#include "Print.h"
2424

STM32F4/cores/maple/Stream.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
parsing functions based on TextFinder library by Michael Margolis
2020
*/
2121

22-
#ifndef Stream_h
23-
#define Stream_h
22+
#ifndef _STREAM_H_
23+
#define _STREAM_H_
2424

2525
#include <inttypes.h>
2626
#include "Print.h"

STM32F4/cores/maple/Udp.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
* bjoern@cs.stanford.edu 12/30/2008
3333
*/
3434

35-
#ifndef udp_h
36-
#define udp_h
35+
#ifndef _UDP_H_
36+
#define _UDP_H_
3737

3838
#include <Stream.h>
3939
#include <IPAddress.h>

STM32F4/cores/maple/WProgram.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,12 @@
2424
* SOFTWARE.
2525
*****************************************************************************/
2626

27-
#include "wirish.h"
27+
#ifndef _WPROGRAM_H_
28+
#define _WPROGRAM_H_
29+
30+
#include <wirish.h>
2831

2932
void setup();
3033
void loop();
34+
35+
#endif

0 commit comments

Comments
 (0)