Commit Graph

70 Commits (8733d52da9f4a4a6b3d38649ce08610f4973f20f)

Author SHA1 Message Date
jeromecoutant 1ea28973b2 TOOLS : Add missing M33 and M33F in python scripts 2018-11-05 17:44:15 +01:00
Leszek Rusinowicz 7d322dcd41 Simplified M0/M4 binary merging functionality. Now, M0 binary image to be used has to be explicitely named in a json file (can be ovverriden in mbed_app.json).
Exporter hooks removed completely.
Cleanup and improvements to the comments, including removal of the redundant doxygen comments.
Code run through astyle. Additionally:
 - changes to drivers/Timer.cpp reverted
 - ipcpipe_transport.* files removed as they are not used for now,
 - fixed condition in stdio_init.cpp to perform serial initialization only when STDIO is enabled,
 - added missing resurce manager call in PWM initialization,
 - us_ticker initialization changed to use pre-reserved clock divider (to avoid resource manager call).
Changed reporting level from info to debug in PSOC6.py.
Added missing includes for function declarations in startup files.
Fixed (removed) garbadge text in psoc6_utils.c
Precompiled binaries updated for recent changes in psoc6_utils.c and moved to a separate folder; README and LICENSE files added.
2018-11-01 22:14:06 +01:00
Leszek Rusinowicz 9b1db83eaa Added required changes outside of TARGET_Cypress tree:
1. In drivers/Timer.cpp make sure that hardware timer is initialized outside of critical section.
   This is because on PSoC 6 hardware resources are shared between both cores
   and we have to make sure that the other core is not already using a particular resource.
   This mechanism is based on interprocessor communication taht cannot be handled iside of
   critical section.
2. Added support for post-binary hook function for PSoC 6 targets, so the hex image for M0+ CPU core
   can be merged with M4 core image for the final image.
3. Added possibility to use hook function from exportes, so the M0+ hex image could be included
   in the generated project.
4. Included hex images in the build dependency list, so the update of image is catched by the
   build process.
2018-11-01 20:19:21 +01:00
Jimmy Brisson 9c3307ab20 tools: Raise NotSupported when target definition is incomplete
### Description

Noticed by the online compiler:
When a user has an incomplete target definition, the error is not show
to the user. That's because it's reported as a `KeyError`. This PR adds
an outer `NotSupportedException` so that the outer catch statement knows
that this is not a build system crash, but a user error.

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Breaking change
2018-10-17 18:00:57 -05:00
Cruz Monrreal 5102610f11
Merge pull request #8275 from theotherjimmy/online-nrf51-upstream
tools, NRF51-post-build: Use paths to hex files
2018-10-08 10:21:03 -05:00
Jimmy Brisson 080c72bb47 tools, NRF51-post-build: Use paths to hex files
### Description

The NRF51 post build hook finds it's hex files using the Resources
object. This PR fixes the corner case where the hex files within a
project have a name!=path (This really only happens online).

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Breaking change
2018-09-27 14:44:19 -05:00
Russ Butler ab50681c33 Rename device option STCLK_OFF_DURING_SLEEP
Rename STCLK_OFF_DURING_SLEEP to SYSTICK_CLK_OFF_DURING_SLEEP to avoid
confusion with the STmicroelectronics.
2018-09-12 14:40:25 -05:00
Cruz Monrreal 2e081dc7d0
Merge pull request #7644 from theotherjimmy/components
Tools: Scan for "components"
2018-08-28 17:55:01 -05:00
Jimmy Brisson 4ef12ccdbc Culumative attirbutes always exist 2018-08-27 11:12:02 -05:00
Jimmy Brisson 79ee1b8e02 Add "components" 2018-08-27 11:12:01 -05:00
Cruz Monrreal 2f8e679183
Merge pull request #7592 from orenc17/remove_uvisor
Remove uVisor from mbed-os
2018-08-25 19:52:24 -05:00
Oren Cohen 787317b7eb Remove uVisor from mbed-os 2018-08-22 16:36:59 +03:00
jeromecoutant 43258a8ff4 STM32 : add all QSPI pins in available targets 2018-08-22 15:02:08 +02:00
Jimmy Brisson ae033da12f Use mapping of core->arch ver. for tc picking 2018-07-19 10:55:35 -05:00
Jimmy Brisson 4400765ece Add `Mxx_NS` core-based labels 2018-07-12 18:01:37 +08:00
Jimmy Brisson 4e6b830c91 Allow hex BL, SD and application merging 2018-06-19 09:27:09 -05:00
Martin Kojtal eb3d3fdb54
Merge pull request #6929 from jeromecoutant/PR_SCRIPT
STM32 : script to generate PeripheralPins.c for new target addition
2018-06-19 14:26:22 +02:00
jeromecoutant 5fba2e49c5 STM32_gen_PeripheralPins.py : Add license header 2018-06-12 14:30:54 +02:00
Bartek Szatkowski 6e9f04bf2f Rename DEVICE_LOWPOWERTIMER to DEVICE_LPTICKER
That's to match DEVICE_USTICKER.
2018-05-25 12:20:09 -05:00
jeromecoutant 5b43961860 STM32: move STM32_gen_PeripheralPins.py to tools/targets 2018-05-21 17:22:19 +02:00
Jimmy Brisson 542bcebac7 Use notify API in post-build scripts 2018-04-27 14:46:35 -05:00
Jimmy Brisson a0b305b351 Use pyelftools for Realtek post-build script 2018-04-16 09:06:38 -05:00
Jimmy Brisson a9e3a4fa28 Correct Realtek post-build script to work in the online compiler 2018-03-16 10:09:03 -05:00
Jimmy Brisson cca4425af6 Python2+3: iteritems -> items 2018-02-05 11:04:36 -06:00
Jimmy Brisson 380ecb1b0e Python2+3: working through many has_attr exceptions 2018-02-05 11:04:01 -06:00
Jimmy Brisson 68737f2762 Python2+3: Things import 2018-02-05 11:03:44 -06:00
Cruz Monrreal 9a47f09ea9
Merge pull request #5910 from OSHChip/typo-fix
fix typos in lint.py
2018-01-26 10:36:33 -06:00
drewcassidy 6f9aa07491
fix typos in lint.py 2018-01-23 19:19:43 -08:00
Cruz Monrreal 47a128a5e5
Merge pull request #5882 from ashok-rao/br-MTB_Dragonfly
Add MTB MTS_Dragonfly as a new target.
2018-01-19 13:58:03 -06:00
Ashok Rao 9ee69854ff Adding MTB MTS_Dragonfly as a new target 2018-01-18 17:08:59 +00:00
chrisyang a1b4b8f10a rtl8195am - move region headers to 0xb000 and 0xc000
The new layout is as follows:

0x000000 - 0x008000  => bootloader
0x008000 - 0x00b000  => system sectors
0x00b000 - 0x00c000  => region1 header
0x00c000 - 0x00d000  => region2 header
0x00d000 - 0x010000  => reserved
0x010000 - 0x040000  => mbed file system
0x040000 - 0x120000  => region1 image
0x120000 - 0x200000  => region2 image

This is to ensure when daplink erases sections, both regions' headers
are erased properly.
2018-01-15 15:08:13 +08:00
Tony Wu a4575a965f rtl8195am - refactor bootloader and ota support
1. move ota region 1 from 0x00b000 to 0x040000
2. move ota region 2 from 0x0c0000 to 0x120000
3. refactor bootloader header as follows:

   uint32_t tag;
   uint32_t ver;
   uint64_t timestamp;
   uint32_t size;
   uint8_t hash[32];
   uint8_t campaign[16];
   uint32_t crc32;

   where,
   a. hash is the sha256 checksum of the payload.
   b. crc32 is the crc32 checksum of headers from tag to campaign.

4. Call NVIC_SystemReset for soft reset.

Signed-off-by: Tony Wu <tung7970@gmail.com>
2017-11-28 21:33:51 +08:00
Tony Wu 985c2b0ec7 rtl8195am - cleanup post-processing binary hook
Preparing for bootloader redesign.

Signed-off-by: Tony Wu <tung7970@gmail.com>
2017-11-28 21:29:49 +08:00
Anna Bridge e9e0595188 Merge pull request #5042 from tung7970/fix-tools
RTL8195AM - Respect Toolchains paths in post bulid script.
2017-10-20 10:23:25 +01:00
Jimmy Brisson a67737f993 Merge pull request #5086 from pan-/systick_sleep_fix
Sleep: Disallow sleep for targets turning off the systick clock at sleep entry
2017-10-13 09:19:10 -05:00
Tony Wu 7d6e66db2f rtl8195am - use TOOLCHAIN_PATHS to locate toolchain
Use TOOLCHAIN_PATHS to locate toolchain binaries for users might set
compiler paths, through mbed_settings.py, env vars, or system path.

Signed-off-by: Tony Wu <tonywu@realtek.com>
2017-10-09 23:38:03 +08:00
Jimmy Brisson 58372d3fdf Allow ARMC6 to run post-binary-hooks marked for ARM 2017-09-13 14:50:06 -05:00
Vincent Coubard 682816d86e Sleep: Disallow sleep for targets turning of the systick clock at sleep entry.
When the RTOS is present and the tickless mode is not implemented, it is
expected that the next tick issued by the Systick timer will wake up the MCU.
However nothing prevents an implementation of the ARM architecture to gate the
systick clock signal upon sleep entry.

Therefore on those targets sleep shall be prohibited if the RTOS is present and the
tickless mode is not implemented.

To ease life of porters , a new option has been added in the device add list:
STCLK_OF_DURING_SLEEP. This option expose that the target turn of the systick
clock during sleep.

Targets which exhibit such behavior shall add this define in their device_has list.
2017-09-13 10:28:02 +01:00
Deepika 9422c351e4 Initial RTX and tools support for Cortex M-23/M-33 devices 2017-09-11 11:43:26 -05:00
Jimmy Brisson 7457bbbc5c Merge pull request #4665 from Archcady/enable_sdram
Enable sdram usage of REALTEK_RTL8195AM
2017-09-06 14:26:34 -05:00
Russ Butler ac22225ad9 Move Cortex specific RTX behind TARGET_CORTEX
Update directory structure to include RTX for only cortex targets, and
for all cortex targets. This patch accomplishes this by moving mbed-os
specific RTX files and RTX itself into rtos/TARGET_CORTEX along with
removing TARGET_CORTEX_M from the RTX5 directory.

The old directory structure:

rtos/rtx5/<mbed-os specific RTX files>
rtos/rtx5/TARGET_CORTEX_M/*
rtos/rtx4/*
rtos/<mbed-os specific RTX files>

Is re-arranged to:

rtos/TARGET_CORTEX/rtx5/*
rtos/TARGET_CORTEX/rtx4/*
rtos/TARGET_CORTEX/<mbed-os specific rtx files>

This both encapsulates RTX code more cleanly and makes it easier to
experiment with non-cortex cmsis-os2 backends, such as a posix
based cmsis-os2 backend.

Note - A potentially better name for the CORTEX_M directory would be
something like FEATURE_RTX5 since this directory only contains RTX5
related files. This cannot be done because there is not an easy way
to turn this feature on, since it cannot be done from mbed_lib.json.
2017-08-31 19:55:54 -05:00
Yuguo Zou c834b7faac Fix bugs for RTL8195AM with debug profile of compilers
1. Add alignment / padding for postbuild segments
2. Clear tcm.bss section
3. Remove TRAP_OverrideTable(), move lines to PLAT_Start()
2017-08-28 19:04:26 +08:00
Yuguo Zou a0064ae47c Remove extension in cmd
Remove extension in command line so the script could work on Linux
2017-08-24 11:26:40 +08:00
Yuguo Zou 1e398cfc60 Add RTL8195AM support for mbed client with IAR
Move ticker related code to SRAM due to time drift sensitive
2017-08-22 17:34:00 +08:00
Tony Wu 35d7ca27be rtl8195am - fix ARMCC SRAM + SDRAM porting
Signed-off-by: Tony Wu <tonywu@realtek.com>
2017-08-01 15:29:21 +08:00
Yuguo Zou d1c87347af Fix ARMCC & IAR compile errors 2017-07-28 18:33:52 +08:00
Tony Wu c9ecb2749d rtl8195am - adjust memory layout and enable fota support
1. Rearrange SDRAM and SRAM layout. Move timing critical code to SRAM,
   and the rest to SDRAM.

2. Add bootloader that's capable of FOTA over mbed cloud.

Signed-off-by: Tony Wu <tonywu@realtek.com>
2017-07-27 13:55:45 +08:00
Yuguo Zou 2864e4b05d enable sdram usage of REALTEK_RTL8195AM
Signed-off-by: Tony Wu <tonywu@realtek.com>
2017-07-27 13:55:42 +08:00
jacobjohnson-ON 41a0941d53 mbed OS 5.5.3, including the changes needed to enable 640k. Includes the proposed changes by Mac. 7/25/17 2017-07-25 17:37:14 -06:00
Jimmy Brisson 18bca08d4b Reduce device has whitelist 2017-06-29 14:09:39 -05:00