Commit Graph

10699 Commits (5152c1c7ac5186ac7b797334d51e922259044c4f)

Author SHA1 Message Date
ccli8 e55553e749 [NUC472/M453] Fix DMA channel over-allocate 2017-04-20 14:57:09 +08:00
Francisco J. Manno 4398b1f3c1 Fix gcc [-Wsign-compare] warning
[Warning] mbed_board.c@99,36: comparison between signed and unsigned
integer expressions [-Wsign-compare] is seen during compilation.
Fix the warning and small improvements.

1. Change type of loop variable "i" to the same type as "size".
   Size is > 0 checked by the if statement and i stops at == size
   so none can be negative. However size still needs to be signed
   to detect error codes from vsnprintf.
2. Reduced scope of stdio_out_prev and make sure it's initialized.
3. Define a name for the error buffer size and use vsnprintf instead
   of vsprintf to avoid writing outside of the array.
   NOTE: the if(size > 0) statement doesn't need to change. If
   the message to write is larger than the buffer size vsnprintf
   truncates it automatically but still returns a positive value.
2017-04-19 18:37:37 +01:00
Anna Bridge 2e2fe377b3 bus reset for KL25Z fix, USBSerial update
1. added call to busReset() to KL25Z HAL; now the USB stack survives if you disconnect the cable, similar to LPC40 2. busReset callback to update terminal_connected in USBCDC 3. new bool USBSerial::connected() to read protected terminal_connected property, useful when you want to check if the terminal is ready from main app
2017-04-19 15:38:51 +01:00
Sam Grove 247238d993 Merge pull request #4167 from 0x6d61726b/patch-2
Replace deprecated import and correct typo in c_blob_mbed.tmpl
2017-04-19 02:28:34 -05:00
Sam Grove 01767268cd Merge pull request #4142 from productize/master
EFM32: Fixed `pwmout_all_inactive` being inversed
2017-04-19 02:27:19 -05:00
Sam Grove c710f46993 Merge pull request #4179 from AlessandroA/uvisor_makefile_fix_cp_cmd
uVisor: Fix copy of quick-start doc in exporter script
2017-04-19 02:22:14 -05:00
Sam Grove 8a2ae245d0 Merge pull request #4175 from nvlsianpu/nRF52840_rm_apptimer
[NRF52840]: Remove unwanted nRF5 SDK's app_timer libarary.
2017-04-19 02:21:16 -05:00
Sam Grove a67eca5e72 Merge pull request #4173 from theotherjimmy/fix-cmsis-traceback
Fix Traceback in CMSIS export.
2017-04-19 02:20:21 -05:00
Sam Grove 0cfa96cf55 Merge pull request #4170 from theotherjimmy/fix-include-paths
Fix include paths for Windows builds
2017-04-19 02:19:23 -05:00
Sam Grove de6cce77be Merge pull request #4168 from theotherjimmy/gnuarmeclipse-more-templates
Generate GNU ARM Eclipse .mbedignore file with jinja2
2017-04-19 02:18:17 -05:00
Sam Grove af63b57f89 Merge pull request #4141 from tung7970/fix-mbedos
Fix mbed_board.c compiler warning
2017-04-19 02:17:08 -05:00
Sam Grove 7bd8c32f2d Merge pull request #4133 from u-blox/c030-debug-8mhz-xtal
U-BLOX_C030: Default XTAL is now 12MHz onboard. Option to use Debug 8MHz
2017-04-19 02:14:51 -05:00
Sam Grove 0beb95f1a6 Merge pull request #4074 from stevew817/siliconlabs/update_tbsense_2_pinout
[Silicon Labs] Update pinout
2017-04-19 02:06:54 -05:00
Sam Grove e532e0f446 Merge pull request #3991 from geky/fix-events-non-rtos-wait
events: Fix zero wait condition in non-rtos semaphore
2017-04-19 02:04:52 -05:00
Sam Grove 87610e700b Merge pull request #4152 from jeromecoutant/PR_ADC_F4_NEW
STM32F4 Internal ADC channels rework
2017-04-19 00:38:16 -05:00
Jimmy Brisson fb8fda3cee Merge pull request #4097 from bulislaw/build_debug_macro
Debug build flag + change to sleep behavior in debug mode
2017-04-18 15:05:02 -05:00
Sam Grove 5f9f8c5337 doxygen_options update
All fields are strings, not arrays. Update the PREDEFINED and
EXCLUDE_PATTERNS fields.
2017-04-17 21:13:59 -05:00
Daniel Zimmermann 7c33ba8691 LPC4088: Enable LWIP feature
This patch enable the LWIP feature for the LPC4088 and LPC4088_DM boards.
The lwIP stack support already this hardware.
See: ./features/FEATURE_LWIP/lwip-interface/lwip-eth/arch/TARGET_NXP/lpc17_emac.c
2017-04-16 11:16:51 +02:00
Mahadevan Mahesh 5b866b79d1 MCUXpresso: Update ARM linker files to reduce RAM reserved for stack & heap
Heap and stack size is determined via the RTOS.

Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-04-14 11:21:28 -05:00
maclobdell 77f4e23c0f [NCS36510] Reduce default heap size allocated by IAR to 1/4 of total RAM.
Allows mesh minimal example to compile with IAR.
2017-04-13 22:48:34 -05:00
Christopher Haster fd80dcc51b Filesystem: Include '.' and '..' in directory iteration
The standard is intentionally vague on if filesystems must
have '.' and '..' entries, allowing filesystems to omit this
concept completely:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/readdir.html

However, the '.' and '..' entries are common on FAT filesystems
and in most other filesystems.

This enables '.' and '..' entries in the FAT filesystem.
2017-04-13 14:30:57 -05:00
Sarah Marsh 663b4ebfe6 Include mbed_debug.h in mbed.h 2017-04-13 12:27:46 -05:00
Christopher Haster 4459e6d5a0 events: Remove strict-aliasing warning
Several opaque buffers are used to to wrap c++ classes to pass
to the c layer. The reinterpret cast to c++ classes is fine as long
as the underlying buffer is not interpreted as different incompatible
types, or else the behaviour is undefined.

In the equeue_tick_init function, placement new is used to initialize
the buffers. However, this interprets the buffer as a simple array
of bytes, not the actual class type. Later the buffer is casted to
the class type. From the point of view of the compiler, these two
types are incompatible, and the compiler is free to reorder the
operations under the assumption that they can't affect each other.

Reinterpet casting the buffer to a class pointer before using
placement new insures that the buffer is only interpreted as a single
type. Or simple using the return value from placement new will handle
the aliasing appropriately.
2017-04-13 12:15:50 -05:00
Jimmy Brisson 61c4d50109 Fix typo in doxygen tag 2017-04-12 15:23:24 -05:00
Sam Grove f2cd27344e Add configuration file for docs.mbed.com builds 2017-04-12 12:59:57 -05:00
Sam Grove 9dd24f92c2 Disallow doxygen to render protected and private members 2017-04-12 11:48:02 -05:00
Jimmy Brisson 6a325673de Fix Traceback in CMSIS export.
The traceback was caused when a file without a parent directory (which
is implicitly ".") is added to the resources object. The code assumed
that all files within the resources object would have a parent
directory.

This commit changes the check to account for files that are in the root
directory of a project and have no preceding `./`
2017-04-12 11:00:09 -05:00
Jimmy Brisson 157023342f Add license to configuration header 2017-04-12 10:50:43 -05:00
Jimmy Brisson 212a3dfd12 Move config to own dir
I also broke the config header template into it's own file. Further, I
fixed a bug in the config header generation where if no macros, builds
would crash.
2017-04-12 10:50:38 -05:00
Jimmy Brisson 1e21985ff7 Fail IAR exports without linker scirpts with NotSupportedException 2017-04-12 10:39:24 -05:00
Sam Grove 710af8f09b Add deprecation note to CAN attach
attach members not using Callback class are not compatible with
const and volatile types. This was missed when callback was initially
added
2017-04-12 10:30:33 -05:00
Jimmy Brisson 65adf446c5 Merge pull request #3993 from mbartling/supported-lists
Added list options for --supported command
2017-04-12 09:33:27 -05:00
Sam Grove 26b9a1f6a3 Enable doxygen to use the pre-processor
Best way to enable MBED_DEPRICATED APIs to be properly rendered
requires using the doxygen preprocessor. This means all device_has
labels need to also be defined or the default DOXYGEN_ONLY label
applied to the API headers which this commit does. ASYNCH currently
exluded.
2017-04-12 09:01:29 -05:00
Sam Grove cba75f467d Fix typo in doxygen group 2017-04-12 08:56:36 -05:00
Alessandro Angelino 8bc81e0efd uVisor: Fix copy of quick-start doc in exporter script 2017-04-12 14:28:43 +01:00
Andrzej Puzdrowski 67276e3785 [NRF52840]: fix coding style us_ticker.c 2017-04-12 14:34:14 +02:00
Kari Severinkangas f5d6e7d33c Update README.md
Minor changes
2017-04-12 15:21:02 +03:00
jeromecoutant 03972ebb0c STM32L4 Internal ADC channels rework
Internal ADC pins are now out of PinMap_ADC array
2017-04-12 13:14:58 +02:00
Andrzej Puzdrowski 55fbd7a299 [NRF52840]: Removed unwanted nRF5 SDK's app_timer libarary.
The Library is unused by the port. It breaks "non-rtos" compilation.
2017-04-12 11:43:11 +02:00
Andrzej Puzdrowski 560bd7403d [NRF52840]: fix:
- rtc overflow-while-set-timestamp issue
- timer has a race condition
2017-04-12 11:10:48 +02:00
Jimmy Brisson e307b907d6 Fix typo in LPCExpresso exporter template 2017-04-11 15:18:19 -05:00
0x6d61726b ae0ef24004 device feature "FLASH" added
device feature "FLASH" added
2017-04-11 21:54:12 +02:00
0x6d61726b 029736612b typo corrected
typo corrected
2017-04-11 21:28:11 +02:00
Jimmy Brisson 7c40343e74 Fix include paths for Windows builds 2017-04-11 14:26:14 -05:00
0x6d61726b 8c6dd8949b Update flash_api.c
mbed_critical.h replaced with "platform/mbed_critical.h" (to match template)
typo corrected
2017-04-11 21:24:40 +02:00
0x6d61726b b0451324c4 deprecated include updated
critical.h is deprecated, replaced with "platform/mbed_critical.h"
typo corrected
2017-04-11 21:23:19 +02:00
Jimmy Brisson 6fa1de2161 Generate GNU ARM Eclipse's .mbedignore with Jinja2 2017-04-11 14:11:44 -05:00
0x6d61726b d6686f14e0 NXP LPC176X: "FLASH_CMSIS_ALGO" activated
Due to implementation of "flash_api.c" for NXP LPC176X the corresponding extra_labels were activated
2017-04-11 21:06:33 +02:00
0x6d61726b 29c7b34dfa LPC176X flash_api.h implementation
For LPC176X (LPC1768/LPC1769) the flash driver has been implemented according to the CMSIS-PACK Keil.LPC1700_DFP.2.3.0 driver with the following changes in FlashPrg.c:
1. EraseChip() function removed (not used by flash_api)
2. Clock reconfiguration removed and clock value taken from function parameter to avoid unexpected behavior.

Full patch of FlashPrg.c:
--- Keil.LPC1700_DFP.2.3.0\Flash\LPC_IAP\FlashPrg_orig.c	2016-12-08 13:10:10.000000000 +0200
+++ Keil.LPC1700_DFP.2.3.0\Flash\LPC_IAP\FlashPrg.c	2017-04-11 20:02:37.000000000 +0200
@@ -191,90 +191,15 @@
  *                    fnc:  Function Code (1 - Erase, 2 - Program, 3 - Verify)
  *    Return Value:   0 - OK,  1 - Failed
  */
 
 int Init (unsigned long adr, unsigned long clk, unsigned long fnc) {
 
-#if defined LPC1XXX  || defined LPC11U6X
-  CCLK       = 12000;                          // 12MHz Internal RC Oscillator
+	CCLK = clk / 1000;                           // CCLK value is in kHz, clk in Hz
 
-  MAINCLKSEL = 0;                              // Select Internal RC Oscillator
-  MAINCLKUEN = 1;                              // Update Main Clock Source
-  MAINCLKUEN = 0;                              // Toggle Update Register
-  MAINCLKUEN = 1;
-//  while (!(MAINCLKUEN & 1));                   // Wait until updated
-  MAINCLKDIV = 1;                              // Set Main Clock divider to 1
-
-  MEMMAP     = 0x02;                           // User Flash Mode
-#endif
-
-#ifdef LPC17XX
-  IAP.stat =  0;                               // Note: Some Bootloader versions don't set the status if this command is executed
-  IAP.cmd  = 54;                               // Read Part ID
-  IAP_Call (&IAP.cmd, &IAP.stat);              // Call IAP Command
-  if (IAP.stat) return (1);                    // Command Failed
-
-  switch ((IAP.res[0] >> 24) & 0xFF) {
-    case 0x25:
-                                               // Part ID LPC1759 = 0x25113737
-                                               // Part ID LPC1758 = 0x25013F37
-                                               // Part ID LPC1756 = 0x25011723
-                                               // Part ID LPC1754 = 0x25011722
-                                               // Part ID LPC1752 = 0x25001121
-                                               // Part ID LPC1751 = 0x25001118 / 0x25001110
-    case 0x26:
-                                               // Part ID LPC1769 = 0x26113F37
-                                               // Part ID LPC1768 = 0x26013F37
-                                               // Part ID LPC1767 = 0x26012837
-                                               // Part ID LPC1766 = 0x26013F33
-                                               // Part ID LPC1765 = 0x26013733
-                                               // Part ID LPC1764 = 0x26011922
-      CCLK  =  4000;                           //  4MHz Internal RC Oscillator
-      break;
-    case 0x27:
-                                               // Part ID LPC1778 = 0x27193F47
-                                               // Part ID LPC1777 = 0x27193747
-                                               // Part ID LPC1776 = 0x27191F43
-                                               // Part ID LPC1774 = 0x27011132
-                                               // Part ID LPC1772 = 0x27011121
-    case 0x20:  // found out during test
-    case 0x28:
-                                               // Part ID LPC1788 = 0x281D3F47
-                                               // Part ID LPC1787 = 0x281D3747
-                                               // Part ID LPC1786 = 0x281D1F43
-                                               // Part ID LPC1785 = 0x281D1743
-    case 0x48:                                 // Part ID LPC4088 = 0x481D3F47
-    case 0x47:                                 // Part ID LPC4078 = 0x47193F47
-                                               // Part ID LPC4076 = 0x47191F43
-                                               // Part ID LPC4074 = 0x47011132
-      CCLK  = 12000;                           // 12MHz Internal RC Oscillator
-      break;
-    default:
-      CCLK  =  4000;                           //  4MHz Internal RC Oscillator
-  }
-
-  CLKSRCSEL = 0x00;                            // sysclk = IRC
-
-  PLL0CON  = 0x00;                             // Disable PLL (use Oscillator)
-  PLL0FEED = 0xAA;                             // Feed Sequence Part #1
-  PLL0FEED = 0x55;                             // Feed Sequence Part #2
-
-  switch ((IAP.res[0] >> 24) & 0xFF) {
-    case 0x27:                                 // LPC177x
-    case 0x20:                                 // LPC178x
-    case 0x28:                                 // LPC178x
-    case 0x48:                                 // LPC407x
-    case 0x47:                                 // LPC408x
-      CCLKSEL  = 0x01;                         // use Sysclk devided by 1 for CPU
-      break;
-    default:
-      CCLKSEL  = 0x00;                         // CPU clk divider is 1
-  }
-
   MEMMAP   = 0x01;                             // User Flash Mode
-#endif
 
   return (0);
 }
 
 
 /*
@@ -283,37 +208,12 @@
  *    Return Value:   0 - OK,  1 - Failed
  */
 
 int UnInit (unsigned long fnc) {
   return (0);
 }
-
-
-/*
- *  Erase complete Flash Memory
- *    Return Value:   0 - OK,  1 - Failed
- */
-
-int EraseChip (void) {
-
-  IAP.cmd    = 50;                             // Prepare Sector for Erase
-  IAP.par[0] = 0;                              // Start Sector
-  IAP.par[1] = END_SECTOR;                     // End Sector
-  IAP_Call (&IAP.cmd, &IAP.stat);              // Call IAP Command
-  if (IAP.stat) return (1);                    // Command Failed
-
-  IAP.cmd    = 52;                             // Erase Sector
-  IAP.par[0] = 0;                              // Start Sector
-  IAP.par[1] = END_SECTOR;                     // End Sector
-  IAP.par[2] = CCLK;                           // CCLK in kHz
-  IAP_Call (&IAP.cmd, &IAP.stat);              // Call IAP Command
-  if (IAP.stat) return (1);                    // Command Failed
-
-  return (0);                                  // Finished without Errors
-}
-
 
 /*
  *  Erase Sector in Flash Memory
  *    Parameter:      adr:  Sector Address
  *    Return Value:   0 - OK,  1 - Failed
  */
2017-04-11 21:03:45 +02:00
0x6d61726b 5be47f1e2b Update c_blob_mbed.tmpl
- critical.h is deprecated, replaced with "platform/mbed_critical.h"
- typo corrected
2017-04-11 20:30:34 +02:00