Commit Graph

1647 Commits (63cfe8da231e640afa53bbe9f0680da859e4ee47)

Author SHA1 Message Date
bcostm 03f49ea8ef [NUCLEO_F0] Align registers and system files with latest CMSIS files
Same as in new NUCLEO_F070RB target
2014-12-19 14:13:54 +01:00
Martin Kojtal bd803e5944 Merge pull request #805 from molejar/dev-freescale-kl43z
Targets: KL43Z - Fix some issues in serial, usb device and pins names
2014-12-19 11:10:08 +00:00
Martin Olejar 1eb8d7cab4 Added serial_get_src_clock() function into serial_api.c and fastirc_frequency() function into clk_freqs.h for better portability. 2014-12-19 10:55:37 +01:00
Martin Kojtal 79ec104b3c Merge pull request #801 from bcostm/master
Add new target - NUCLEO_F070RB
2014-12-19 09:48:14 +00:00
Martin Kojtal 078c36b1c5 Merge pull request #802 from masaohamanaka/master
Targets: RZ_A1H - Fix some drivers bugs and modify some settings of OS and
2014-12-19 08:53:10 +00:00
Martin Kojtal e8f8f5ef6b Merge pull request #803 from mazgch/master
fix HAL_NULL, add more GPIO_CLK macros
2014-12-19 08:32:48 +00:00
Martin Olejar bb969921ec Fixed baudrate calculation issue in serial_api.c, arduino compatible pins name and USB device for Freescale KL43Z Target 2014-12-18 22:37:11 +01:00
mazgch 992afded5c fix HAL_NULL, add more GPIO_CLK macros 2014-12-18 16:11:40 +01:00
Masao Hamanaka 0279c2a2ee Modify some settings of OS and Ether
- Change default setting of CMSIS-RTOS RTX for Cortex-A9 to align with Cortex-M.
 - Change the interrupt priority of Ether driver to align with other drivers.
2014-12-18 18:41:33 +09:00
Masao Hamanaka e91e953a60 Fix some drivers bugs.
Changes as below.

-I2C
 Change communication wait time and Frequency accuracy improvement of I2C.
  - Frequency accuracy improvement
  - Changed the wait time between one communication completed and the next communication start.
    The wait time will be Low clock width by this changing.

-PWM
 Modify processing of pulsewidth() of PWM
  - Modify processing of pulsewidth() to match the specifications of the RZ_A1H.

-SPI
 Fixed a bug that SPI driver is not able to communicate when transfer bit length is 16bit or 32bit.
  - Frequency accuracy improvement
  - Modify transfer processing when transfer bit length is 16bit or 32bit.

-Serial
 Change the reference register macro of Serial
  - Change the reference register macro to align with other driver codes.
2014-12-18 18:40:44 +09:00
bcostm 6234082237 [NUCLEO_F070RB] Add new target - part 2 hal 2014-12-18 09:29:13 +01:00
bcostm 796482d826 [NUCLEO_F070RB] Add new target - part 1 cmsis 2014-12-18 09:28:22 +01:00
bcostm 97089befb4 [STM32F0] Update STM32Cube driver to support new devices 2014-12-18 09:26:02 +01:00
Yihui Xiong 8d2fa50691 add new target BLE_SMURFS 2014-12-17 11:40:09 +08:00
ohagendorf 2ef2204380 solving RTOS problem
Changing original STM Cube Driver to call _start instead of main to
initialise the rtos when using it. Without using rtos the behavior is
the same as before.
2014-12-17 01:18:56 +01:00
Martin Kojtal 67fbbf0b63 Merge pull request #798 from rgrover/master
Targets: nrf51 - updating app_timer.c from Norid'c SDKv7.1.0
2014-12-16 08:14:11 +00:00
Martin Kojtal a67faf521f Merge pull request #797 from ohagendorf/DISCO_F429_clockcycle
Targets: DISCO_F429ZI - clock frequency additions
2014-12-16 08:01:54 +00:00
ohagendorf 7eb385ec41 [DISCO_F429ZI] changed clock settings
Correction of wrong comments.
2014-12-15 22:37:37 +01:00
Mike Fiore 429ff2731d [mbed][MTS_DRAGONFLY_F411RE] fix reversed uart pins after rebasing from master 2014-12-15 15:05:07 -06:00
Rohit Grover 29bd94927e updating app_timer.c from Norid'c SDKv7.1.0; hoping to fix the hangs reported around timers 2014-12-15 15:59:48 +00:00
Martin Kojtal 6172cbea1a Merge pull request #785 from rosterloh/disco_l053_hal_updates
Targets: DISCO_L053C8 - update from nucleo latest changes
2014-12-15 09:15:42 +00:00
Martin Kojtal 1fb5426bf6 Merge pull request #793 from ohagendorf/STMF4xxx_rtos
DISCO_F4xx, NUCLEO_F4xx, MDOT_F4 - fix RTOS problem (init seq)
2014-12-15 09:01:35 +00:00
Martin Kojtal fb526c9205 Merge pull request #784 from masaohamanaka/master
Targets: RZ_A1H - Add the timer value wraparound processing to us_ticker
2014-12-15 08:55:35 +00:00
Martin Kojtal 5aafaa0d63 Merge pull request #780 from GustavWi/iar_mbed
IAR: skip dynamic initialization, new common IAR startup file
2014-12-15 08:52:35 +00:00
ohagendorf 2002b797ad [DISCO_F429ZI] changed clock settings
Original STM32Cube F4 driver sets SYSCLK for STM32F429 to 16MHz. This
adds a 168MHz and 180MHz configuration to system_stm32f4xx.c generated
by STM32CubeMX code generator. The rtos clock configuration is changed
too. In singletest.py run everything is OK.
2014-12-15 07:32:53 +01:00
ohagendorf 6f8f626bd6 [DISCO_F4xx][NUCLEO_F4xx][MDOT_F4] solving RTOS problem
- Changing original STM Cube Driver to call _start instead of main to
initialise the rtos when using it. Without using rtos the behavior is
the same as before.
- Adding DISCO_F429 to rtos
- Adding targets to RTOS_xx tests.
- All tests are OK. Tested with Nucleo and Disco boards. Not tested with
MDOT_F4 but that uses the same hal like nucleo_f411.
2014-12-13 22:50:02 +01:00
Masao Hamanaka 3212848c31 Fix a bug that coding mistakes of L2 cache
Coding mistakes as below.

   while(PL310->INV_WAY && ((1 << assoc) - 1)); ->
   while(PL310->INV_WAY & ((1 << assoc) - 1));

   PL310->INTERRUPT_CLEAR = 0; ->
   PL310->INTERRUPT_CLEAR = 0x000001FFuL;
2014-12-12 14:27:01 +09:00
Masao Hamanaka 8e3b9aba75 Add terminal defines of PWM and fix a bug that period can not be changed.
Fix a bug as below.
- Period can not be changed.
   Restructions: 1. The upper limits is 491us
                             2. Change all period of the same channel when changing period.
2014-12-12 14:26:33 +09:00
Masao Hamanaka fc7e246596 Remove needless processing regarding Interrupt.
EOIR writing will be done in IRQ handler.
EOIR writing is needless in each interrupt processing.
2014-12-12 14:25:41 +09:00
Masao Hamanaka 7417e1061d Add some terminal setting of Serial and modify attach sequence.
Fix some bugs of Serial as below.
- TX/RX terminal of XBee(P7_4, P7_5) setting is reverse.
- P5_6 and P5_7 terminals can not be used.
- Tx interrupt will not occur at the right timing.
- There are no settings of WIFI Module terminals(P11_10,P11_11).
- There are no settings of Xbee Module terminals(P6_6,P6_7).
2014-12-12 14:25:08 +09:00
Mike Fiore 22a3c528c8 [mbed][MTS_DRAGONFLY_F411RE] remove old Dragonfly Directory 2014-12-11 14:02:13 -06:00
Mike Fiore 883215c80e Merge branch 'dev_new' into dev
Conflicts:
	workspace_tools/export/iar.py
	workspace_tools/targets.py
2014-12-11 13:54:19 -06:00
Mike Fiore 743bf2b255 [mbed][MTS_DRAGONFLY_F411RE MTS_MDOT_F411RE NUCLEO_F411RE] remove unnecessary Dragonfly hal files & move PeripheralNames.h to mDot and Nucleo dirs to perserve differences from Dragonfly 2014-12-11 13:48:06 -06:00
Mike Fiore 83d03f35e5 [mbed][MTS_DRAGONFLY_F411RE] move Dragonfly support into TARGET_STMF411RE with rest of 411 products 2014-12-11 13:38:29 -06:00
Mike Fiore 4ade9b7ac3 [mbed][MTS_DRAGONFLY_F411RE] fix D2 pin mapping, remove PWM_OUT from PinNames.h 2014-12-11 13:20:45 -06:00
Mike Fiore ff0b8fce30 [cmsis][MTS_DRAGONFLY_F411RE] set USE_PLL_HSE_EXTC to 0, causing problems with IAR export and we have no external clock option 2014-12-11 13:20:45 -06:00
Mike Fiore 2a5c204fa2 [mbed][MTS_DRAGONFLY_F411RE] fix pin names for spi to external flash 2014-12-11 13:20:45 -06:00
Mike Fiore 4b1ac52d91 [mbed][MTS_DRAGONFLY_F411RE] change wrong PLL members to correct values from ST Cube code 2014-12-11 13:20:45 -06:00
Mike Fiore 7a217c3fb5 [mbed][MTS_DRAGONFLY_F411RE] remove unnecessary VIMPINNAMES file 2014-12-11 13:20:45 -06:00
Mike Fiore 340b40ff1a [mbed][MTS_DRAGONFLY_F411RE] add RADIO_TX/RX pins, correct reversed TX/RX pins for uart6 2014-12-11 13:20:45 -06:00
Mike Fiore f41a29e14c [mbed][MTS_DRAGONFLY_F411RE] clean up PinNames.h 2014-12-11 13:20:45 -06:00
Mike Fiore 6d9d5961c5 [mbed][MTS_DRAGONFLY_F411RE] fix stdio uart decl, fix D3 pin decl, change blinky test main.cpp back to original 2014-12-11 13:20:45 -06:00
vincent rabbit 546005a72c [mbed][MTS_DRAGONFLY_F411RE] added platform support files and dirs built gcc executable NOT working 2014-12-11 13:20:45 -06:00
Richard Osterloh 77c3fe2358 updated latest changes from nucleo 2014-12-11 14:55:45 +00:00
Masao Hamanaka c08208fe4f Update upstream pushed files 2014-12-11 19:26:03 +09:00
bcostm 54999646a1 [NUCLEO_L053R8] Removed call to Systick (mbed RTOS compliancy) 2014-12-11 11:16:02 +01:00
Masao Hamanaka 1970328da3 Add the timer value wraparound processing to us_ticker
Timer value wraparound operation had not been considered in us_ticker.
So, User could not set upper than 128s to argument of wait().
2014-12-11 19:07:50 +09:00
Masao Hamanaka f71b0a06c7 Revert "Add the timer value wraparound processing to common wait processing"
This reverts commit cd8f65c94b.
2014-12-11 18:21:43 +09:00
Martin Kojtal b75dadac6c Merge pull request #779 from ndelisi/master
Y5Design LPC11U35 and NRF51822 - Add New targets
2014-12-11 08:28:29 +00:00
Masao Hamanaka cd8f65c94b Add the timer value wraparound processing to common wait processing
Timer value wraparound operation had not been considered in common wait process.
By defining the EXPIRE_US non-zero value, wraparound operation is enabled.
The EXPIRE_US will be define the value of each vender-specific.
If EXPIRE_US is 0, the common wait process is same as before.
2014-12-11 14:32:09 +09:00
GustavWi c3393b80b1 Merge remote-tracking branch 'upstream/master' into iar_mbed 2014-12-10 13:41:46 +01:00
GustavWi 3062999e97 Separated the c data initialization and c++ to call mbed_sdk_init before c++ data. So that the c variables are updated before the c++ objects are initialized. Had to rename the cmain override in RTX_CM_lib.h to __iar_program_start because there can not be two __cmain overrides in the project. The ewps had to be updated to add the linker command --skip_dynamic_initialization which stalls the c++ data init until __iar_dynamic_initialization which is called right after mbed_sdk_init. 2014-12-10 13:40:17 +01:00
Martin Kojtal 2e1ba4df65 Merge pull request #777 from GustavWi/iar_mbed
Targets: CMSIS - Fixed linker files for IAR (Ram size on one) and for the rest increased the heap...
2014-12-10 08:49:10 +00:00
sg- 91a77d74cf With the old logic if Serial::writeable() was called before and/or used to block calls to Serial::putc() it would never write due to EVENT_TXDRDY trailing a write to TXD. Add a dummy write to TXD before pins are connected to the peripheral. This primes the EVENT_TXDRDY to lead future writes rather than trail. Since STOPTX isn't used this seems safe. 2014-12-09 17:48:10 -06:00
Nick DeLisi a03d3bcd8d Porting of new target: Added new target to target.py, added header files for PinNames.h and device.h
nRF51822 from Nordic Semiconductor

Bluetooth Low-Energy v4.1 compliant - interface to smartphones, tablets

System-on-Chip (SoC) solution - easily transformable into a deployable solution

Drop-in solution for production - no need to design your own antenna

FCC and CE Certified

3x LEDs, 3x Buttons

Powered by interface board or external 3.3V
2014-12-09 14:08:22 -06:00
Nick DeLisi f382af4aed Porting of new target: Added new target to target.py, added header files for PinNames.h and device.h. Added linker library.
Y5 Design LLC Interface Board
LPC11u35 from NXP

Low Power, ARM(r) Cortex-M0 suitable for a wide range of applications

On-Chip Bootloader - In-System programming (ISP) and in-application programming (IAP)

ROM-based USB drivers - Flash updates via USB supported

SPI, GPIO, i2C, UART, ADC

3x LEDs, Reset Button

3.3V powered via USB or external

USB interface - shipped with USB-A, male connector, pads for Micro female
2014-12-09 13:01:20 -06:00
GustavWi 490dd0ddfe Fixed linker files (Ram size on one) and for the rest increased the heap and stack size 2014-12-09 18:37:01 +01:00
0xc0170 a36eb12b2f Targets: Freescale KSDK - extern } syntax error fix 2014-12-09 14:52:17 +00:00
Martin Kojtal ea49132428 Merge pull request #770 from GustavWi/iar_mbed
Fix IAR serial fgets fgetc

Taken from PR #770:
setbuf(_file, NULL), and std::setvbuf(_file,NULL,_IONBF,NULL) should both give an unbuffered stream (the data is directly written to the input buffer). IAR sets a buffer anyway of size 512 bytes for these calls. Calling setvbuff(_file,buf,_IONBF,NULL) with a buffer that is not a NULL pointer sets the buffer to size one. Which means that as soon as a char is read it is written to the real buffer. If people are interested in looking at this further they can look at the files under ARM/src/dlib: fgets.c, fflush.c, xfrpep.c and xfwprep.c
2014-12-09 14:39:13 +00:00
Martin Kojtal a96ad0576f Merge pull request #760 from bcostm/master
Targets: NUCLEO_F072RB/F091RC - Remove the call to Systick
2014-12-09 14:31:45 +00:00
Martin Kojtal 0f2b2cdf09 Merge pull request #762 from masaohamanaka/master
Targets: RZ_A1H - Fix some bugs about I2C, SPI, Interruptin and add terminal definition of user button.
2014-12-09 14:27:50 +00:00
Martin Kojtal 75673df767 Merge pull request #772 from mbrudevoldlpd/master
Add support for mDot with STM32F411RE processor
2014-12-09 14:13:28 +00:00
Martin Kojtal 35ba8d709f Merge pull request #774 from Sissors/ksdk
Targets: K20D50M - Serial baudrate improvements / clk_freqs.h fix
2014-12-09 14:01:54 +00:00
GustavWi bd6836396b Moved IAR serial differences to retarget.cpp 2014-12-09 14:30:34 +01:00
Sissors a6c9b1c40b [HAL][K20D50M] Serial baudrate improvements / clk_freqs.h fix
Three changes, first it fixes:
https://github.com/mbedmicro/mbed/issues/761 (which was reported
slightly wrong because K20 has again different clocking from KLXX for
uarts).

Second it adds mcgpllfll to clk_freqs, which again is different for K20
compared to KLXX .

Finally it adds the fractional baudrate divider for more accurate serial
baudrates.
2014-12-08 21:15:24 +01:00
Michael Brudevold 2f5cbcb1c6 Add support for mDot with STM32F411RE processor 2014-12-08 10:58:25 -06:00
GustavWi 9909e7ca56 Fixed IAR serial fgets fgetc 2014-12-08 13:12:37 +01:00
Masao Hamanaka 0b512e5e6f Change I2C driver transfer sequence
Change I2C driver transfer sequence to go according to H/W manual.
Changed contents are as below.
- Access procedure of ACTBT bit of MR3 register
- Issuance procedure of stop condition
2014-12-08 16:47:28 +09:00
Martin Kojtal fb0eb349dd Merge pull request #766 from ohagendorf/reorg_hal_stm324
Targets: DISCO_F4xx - add PeripheralPins.c/.h
2014-12-08 07:25:11 +00:00
Martin Kojtal a17c1dd8f7 Merge pull request #767 from ohagendorf/nucleo_disco_coide
STM32xxx: CoIDE/gcc_arm exporter and startup_stm32xx update
2014-12-08 07:24:22 +00:00
Masao Hamanaka 48448527bd Fix a bug that usticker wait interval is not constant.
When read the timer value, it have a potential to read abnormal value.
Because we used 16bit + 16bit cascade timer and read timer count separately.
Changed usticker timer from 16bit + 16bit cascade timer to 32bit timer to fix the bug.
2014-12-08 15:47:49 +09:00
ohagendorf 86647d8387 [DISCO_F4xx] add PeripheralPins.c/.h 2014-12-07 22:25:38 +01:00
ohagendorf 967046e1d6 [STM32xxx] gcc_arm startup files
Updates startup files to actual versions of STM32 Cube drivers without
any changes of STs drivers:
- DISCO_F303VC
- DISCO_F334
- NUCLEO_F030
- NUCLEO_F072
- NUCLEO_F302
- NUCLEO_F334
2014-12-07 20:52:49 +01:00
ohagendorf 883b2bc0ce [STM32xxx] CoIDE exporter and gcc_arm
- CoIDE options: wrap main and linker option DiscradUnusedSection=1 was
missing in some targets
- CoIDE options: corrected flash loader config for Nucleo_F030 and
Nucleo_F072
- CoIDE options: corrected memory layout (not used per default but now
it is the same as in linker script)
- gcc linker script: changed the memory size from hex number e.g. 0x2000
to decimal 8K
2014-12-07 20:07:56 +01:00
Masao Hamanaka e2a8d32343 Add definition of User button(SW0 and SW1)
Add definition of User button for users.
2014-12-05 17:37:53 +09:00
Masao Hamanaka 4473a517a8 Fix some bugs that IRQ Edge Interrupt will not operation normal.
The bugs of IRQ Edge Interrupt as below.
- Not call a function that was registered in rise, always call a function that was registered in the fall.
- If there are multiple interrupt sources, there is a possibility that end the wrong interrupt processing.
2014-12-05 17:36:52 +09:00
Masao Hamanaka a36c4462f2 Fix a bug that initialize setting of SPI clock value is not correct.
Modify the value as below.
 uint16_t mask = 0x000c0; ->
 uint16_t mask = 0x000c;
2014-12-05 17:35:49 +09:00
Masao Hamanaka dca273e167 Fix a bug that I2C driver can not transfer of 1Byte/2Byte.
I2C driver was not considered about 1Byte/2Byte transfer.
Add 1Byte/2Byte transfer processing in I2C driver.
2014-12-05 17:31:22 +09:00
Masao Hamanaka fe61d8c4f7 Fix a fear of bug that a static value will be indefiniteness.
There was a function that has the potential to be called with indefiniteness argument.
Modify to not call the function with indefiniteness argument.
2014-12-04 16:03:50 +09:00
Masao Hamanaka 7ea2016953 Fix a bug that I2C freq become fixed 100kHz
When I2C read/write, I2C freq ignores the setting of user and it become fixed 100kHz.
Implement change the freq according to the setting of user.
2014-12-04 15:40:38 +09:00
bcostm 2b4edd572b [NUCLEO_F091RC] Remove call to systick 2014-12-03 15:13:05 +01:00
bcostm 7761378c39 [NUCLEO_F072RB] Remove call to systick 2014-12-03 15:11:58 +01:00
Martin Kojtal 4d1fc24b2e Merge pull request #757 from GustavWi/iar_mbed
RTOS: IAR support for M0, M0+ and M4
2014-12-03 13:07:25 +00:00
GustavWi 6210f92420 IAR RTOS support M0, M0+ and M4 2014-12-03 12:54:06 +01:00
Martin Kojtal da233f6e5e Merge pull request #748 from modtronix-com/master
Targets: Fix GCC ARM linker script for STM32L1  (STM32L152XE)
2014-12-03 09:33:13 +00:00
Martin Kojtal 74678ea0fc Merge pull request #755 from masaohamanaka/master
Targets: RZ_A1H - Remove External Bus Controller settings
2014-12-03 08:01:27 +00:00
Toyomasa Watarai 600af8d001 [LPC11XX_11CXX] Fix SPI slave issue
- Fix a bug reported here:
https://developer.mbed.org/questions/4872/SPISlave-Class-dosnt-work-on-LPC1114/
- Add IOCON settings to enable proper pin functions
- Remove non-busy check in slave_receive() function, since the SSP/SPI
is always in busy state when received a valid data according to the
device user manual
- Add bit mask in spi_slave_read() function
- Add TARGET_LPC1114 pin config in SPI_SLAVE test
- Tested with LPC11U24 SPI master and LPC1114 SPI slave
2014-12-03 14:49:23 +09:00
Masao Hamanaka c26d902a4d Remove External Bus Controller settings
GR-PEACH does not have any device that connected external address area of RZ_A1H.
The External Bus Controller settings are needless at GR-PEACH.
Terminals settings will be input mode(It is default setting).
2014-12-03 14:19:07 +09:00
Martin Kojtal a88eaace6b Merge pull request #753 from dinau/update_disco_f051r8
Targets: DISCO_F051R8 - Updated driver files with HAL driver.
2014-12-02 15:36:15 +00:00
Martin Kojtal f6743c5b50 Merge pull request #751 from bcostm/master
Targets: NUCLEO_F303RE - Add new target
2014-12-02 15:35:46 +00:00
dinau 990fc973b5 [DISCO_F051R8]Updated driver files with HAL driver. 2014-12-02 23:41:28 +09:00
bcostm c1caff2714 [NUCLEO_F303RE] Add target part 2 - hal 2014-12-02 07:50:07 +01:00
bcostm c1397c596f [NUCLEO_F303RE] Add target part 1 - cmsis 2014-12-02 07:49:08 +01:00
Masao Hamanaka 27a9f11f8e Implement peripheral clock determination process to I2C driver
When making I2C communication freq, we used a fix value 33.3MHz as peripheral clock as below.
   pclk = 33333333 / (2 << count);

But it is not dynamic when system clock is changed.
So, implement peripheral clock determination process.
Peripheral clock will be decided by RZ-A1H system clock mode.
2014-12-01 20:09:11 +09:00
modtronix-com 3a560efa49 Change comment to GCC scripts
Change comment to GCC scripts. All GCC linker scrips for STM32L1 have
space for BootRAM defined.
2014-12-01 11:55:43 +11:00
modtronix-com 35efc5aaa1 Updated linker script to reserve space for BootRAM
Updated linker script to reserve space for BootRAM at 0x138
2014-12-01 11:47:24 +11:00
modtronix1 be30dcbb0b Fixed GCC ARM linker script for STM32L1 (STM32L152XE.ld)
Fixed Flash and RAM definitions in GCC ARM linker script for STM32L1
(STM32L152XE.ld)
2014-11-29 08:31:53 +11:00
Masao Hamanaka 7290768dc6 Fix a unreadable comments.
There were some Japanese comments in I2C source code.
Fixed those comments to be readable.
2014-11-28 16:18:40 +09:00
Masao Hamanaka 1c4831a243 Fixed I2C bug
Modified the register settings of communication frequency .
2014-11-28 10:28:45 +09:00
Bogdan Marinescu e1d38422ed Merge branch 'newbuild_lib_rev92' 2014-11-27 13:56:11 +00:00