Commit Graph

134 Commits (b5f864d96dd0f02a4e884b79a70d2a81e397663e)

Author SHA1 Message Date
kegilbert 7a436660e9 Handle None and hex values in string format 2018-11-13 16:12:35 -06:00
Aashish chaddha 1627968bcb Missed one change to convert into right data type 2018-11-12 13:37:27 -06:00
Aashish chaddha 3956451c07 Fixing some corner cases
1. Adding SRAM in available ram
2. If the target doesn't exist in cmsis but targets.json, handle accordingly and raise apt exceptions where needed.
3. If no sram is provided, raise exception
2018-11-12 13:28:01 -06:00
kegilbert b53738750f Add guard against accepted and range definitions.
Minor reformat of error text on accepted value messages
2018-11-08 19:00:39 -06:00
kegilbert a834794b53 Add range specifers for config values 2018-11-08 10:18:30 -06:00
Aashish chaddha 27f20c7478 Fetch RAM/ROM information from CMSIS pack and add as defines
RAM/ROM memory data of target is required for statistics and linker
files, goal here is to fetch maximum 4 RAM/ROM regions from CMSIS pack
and make them available for C/C++/Linker flags as defines
2018-11-07 10:20:28 -06:00
Naveen Kaje e28c260763 tools: update build_api and __init__ as per review comments 2018-11-04 19:47:06 -06:00
Naveen Kaje 2da8950b2a tools: process bootloader chunks
NRF Softdevice hex file can be in chunks.
Make sure we account for the space where the bootloader resides
by including all the chunks within the end of rom marker. This will
clearly mark out the initial bootloader region.
2018-10-29 16:36:56 -05:00
Cruz Monrreal 6e8d9f0099
Merge pull request #8270 from theotherjimmy/fix-7392
Tools: Ensure vtor reserved bits are all 0
2018-10-11 10:12:25 -05:00
Simo Sillankorva fac5ff45ed Remove max_app_addr checking from .hex
* Remove max_app_addr logic from tools/config/__init__.py as it was not working properly with some of the .hex files.
2018-10-05 03:15:24 -07:00
Jimmy Brisson 7a97f480f8 Tools: Ensure vtor reserved bits are all 0
### Description

The VTOR reserves the lowest 7 bits. This PR changes the round up
behavoir of the application offset to make sure that the address used
for the in-flash vector table always ends in 7 0's.

Fixes #7392

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Breaking change
2018-09-27 10:04:19 -05:00
Andrew Leech 340f0a6a57 Ensure target bootloader settings can be overridden in mbed_app.json
Values like `target.mbed_rom_start` were being replaced by None and then ignored.
2018-09-19 15:35:13 +10:00
Jammu Kekkonen c069cefbc8 Review fixes 2 for bootloader region generation 2018-09-17 15:56:34 +03:00
Jammu Kekkonen ae4b67e6b2 Review fixes for bootloader region generation 2018-09-13 12:17:00 +03:00
Jammu Kekkonen 4952e31b8b Fix bootloader build region generation and add support for bootloaders with multiple segments, as required by NRF52 bootloader. 2018-09-12 09:30:48 +03:00
Brian Esquilona 4db8a106bf Added BOOTLOADER feature, copy bootloader binaries and LICENSE into mbed OS repository for supported targets 2018-08-21 10:09:28 -05:00
Jimmy Brisson fb42bb0439 Stabilize macro ordering in mbed_config.h 2018-07-30 11:05:32 -05:00
Jimmy Brisson de913e1ea2 Improve resources API to include more use cases 2018-07-16 14:11:08 -05:00
Jimmy Brisson 2d8cf737e4 Move resource scanning into it's own module 2018-07-16 14:10:21 -05:00
Jimmy Brisson 5795f5326e Allow missing "bootloader_supported" key 2018-06-28 10:36:18 -05:00
Jimmy Brisson 2a9923f86e Skip invalid undefined errors 2018-06-28 10:26:00 -05:00
Jimmy Brisson 12f490fa02 Make sure that there is always a config_errors member 2018-06-28 10:26:00 -05:00
Jimmy Brisson c380304b93 Persist config errors until validation occurs 2018-06-28 10:26:00 -05:00
Cruz Monrreal 95d2b3d55c
Merge pull request #7133 from OpenNuvoton/nuvoton_support_tz_partition
Override ROM/RAM start/size for TrustZone targets
2018-06-21 17:49:47 -05:00
Jimmy Brisson 52e640fc1d Add Rom config info getter and rom defines
* MBED_ROM_START = start of current rom (independent of BL modes)
 * MBED_ROM_SIZE = size of current rom (independent of BL modes)
2018-06-20 10:47:04 -05:00
Jimmy Brisson 92abbb7599 Use memories passed in when getting memory specs 2018-06-13 09:33:39 -05:00
Jimmy Brisson 8e26e2c198 Skip second header when every bl config paramater used 2018-06-12 09:02:14 -05:00
Jimmy Brisson 09cdc0631d Move from tc constructor to config vars 2018-06-08 09:59:19 -05:00
ccli8 0cee003bd9 Fix flash start/size in bootloader related build
This fix relies on target configuration options (mbed_rom_start/mbed_rom_size) defined
to override CMSIS pack or no CMSIS pack.

This is useful for a target which:
1. Doesn't support CMSIS pack, or
2. Supports TrustZone and user needs to change its flash partition
2018-06-06 09:45:44 +08:00
Ron Eldor 23ba8bc1f5 Change Cryptocell target to a feature
Change the Cryptocell310 target to `FEATURE_CRYPTOCELL310`
2018-05-21 13:40:43 +03:00
Martin Kojtal 42d77ecd13
Merge pull request #6658 from theotherjimmy/lib-override-target
Allow library configs to override target configs
2018-04-19 17:41:34 +02:00
Jimmy Brisson 7a6f2e485a Use passed in target data everywhere when doing lib config 2018-04-18 09:12:49 -05:00
Jimmy Brisson 5b83f21cec Return correct configuration dict 2018-04-18 09:09:29 -05:00
Cruz Monrreal 934101ecf6
Merge pull request #6592 from cmonr/py3-tools-port
Updates tools to be runnable in Python 3
2018-04-17 15:55:15 -05:00
Jimmy Brisson 0e5cb66ca5 Allow library configs to override target configs 2018-04-17 15:48:55 -05:00
Cruz Monrreal II 85ce95d0ff Modified error formatting to remove unicode character.
jsonschema's error.message returns either u' or ' in strings depending on the python version.
2018-04-10 15:19:34 -05:00
Jimmy Brisson f34feddaa2 Error on invalid mbed_lib JSON 2018-04-05 14:34:00 -05:00
Jimmy Brisson 24c7b1a61a Move Mbed 5 support check so that it affects the exporters 2018-03-29 14:05:23 -05:00
Jimmy Brisson 67e76f3a5e Allow _ and () in identifiers in macros 2018-03-06 11:12:56 -06:00
Jimmy Brisson 6633fbca68 Print array indexes correctly in schema errors 2018-03-06 11:12:22 -06:00
Anna Bridge 8f5b857747
Merge pull request #5950 from theotherjimmy/header-config
Reserve and Render header in managed BL mode
2018-03-01 16:25:18 +00:00
Jimmy Brisson 477b947b22 Improve json schema validation errors 2018-02-28 14:39:28 -06:00
Jimmy Brisson 9f99330be6 Allow overriding offsets with "app_offset" and "header_offset" 2018-02-20 11:45:32 -06:00
Jimmy Brisson 5b2d7a27d2 Require endianness specification for ints > 8 bits 2018-02-20 11:45:32 -06:00
Jimmy Brisson 4c47f21cac Fill header in application 2018-02-20 11:45:32 -06:00
Jimmy Brisson b2c71c0fce Accept header configuration and reserve space 2018-02-20 11:45:32 -06:00
Cruz Monrreal e9fddb6eee
Merge pull request #6017 from theotherjimmy/bl-nonzero-rom
Correct auto-sizing last region of bl
2018-02-07 15:56:43 -06:00
Jimmy Brisson 9c3b489bf6 Correct auto-sizing last region in bl 2018-02-05 14:00:12 -06:00
Jimmy Brisson c93a2bfa4c Python2+3: Use absolute import where possible 2018-02-05 11:07:37 -06:00
Jimmy Brisson 4322bee175 Python2+3: tests passing 2018-02-05 11:04:36 -06:00
Jimmy Brisson cca4425af6 Python2+3: iteritems -> items 2018-02-05 11:04:36 -06:00
Jimmy Brisson 7abeec9744 Python2+3: clean argparse 2018-02-05 11:04:35 -06:00
Jimmy Brisson 380ecb1b0e Python2+3: working through many has_attr exceptions 2018-02-05 11:04:01 -06:00
Jimmy Brisson fad2ee55e1 Restrict target_overries usage 2018-02-01 17:09:17 -06:00
Steven Cartmell b1ea3881be Fix test errors produced by JSON schema after rebase
- Modified the expected error code in some of the test cases. The error
  message is now issued by the JSON validator.

- Stop validation code being called if no application configuration is
  given to validate.

- Change test mock code to check for specific calls, instead of number of
  calls.

- Derive absolute paths for JSON schema files before loading them, which
  seems to work better with the URI path resolution of the schema parser.
2018-02-01 17:18:41 +00:00
Steven Cartmell 7010010ffc Remove placeholder $id from JSON schema and fix description 2018-02-01 17:18:41 +00:00
Steven Cartmell 151f2fa3a6 Refactor common JSON schema definitions into a seperate file
- Moved all common definitions from schema_app and schema_lib into a
  separate definitions file.

- Changed the calling code to resolve multiple schema files correctly.
2018-02-01 17:18:40 +00:00
Steven Cartmell 3ff7de9771 Remove config_path setting and amend regex in mbed config JSON schema
- Removed the config_path setting from schema and moved the addition of the
config_path value after the validation is done.

- Altered the macro validation regex to be more lenient. Now verifies that
  if '=' is used in the macro definition that something comes after it.
2018-02-01 17:18:40 +00:00
Steven Cartmell fd208e6751 Add JSON schema based validation to mbed config script
- Added app and lib JSON schema definition files which specify the valid
  keys and values that can be used in mbed library and application
  configuration files. The primary different between the app and lib
  schema is that the lib config requires a name key.

- Modified the expected error code in some of the test cases. The error
  message is now issued by the JSON validator.

- Added some validation code to the config script which checks the
  validity of the mbed_app.json file when it is initially loaded.

- Added some validation code to config script which checks each of the
  mbed_lib.json scripts when they are loaded.

- Removed manual checks for allowable config keys from within the mbed_app
  and mbed_lib json files.

- Removed the check_dict_types() function which was no longer being
  called.
2018-02-01 17:18:39 +00:00
Jimmy Brisson dd3708c24c Handle target overrides that have a path correctly 2018-01-31 10:04:34 -06:00
Jimmy Brisson c180324530 Configure boot loader after scanning 2018-01-31 10:04:34 -06:00
Jimmy Brisson 855d74a968 Enable libraries to have boot loader configuration 2018-01-31 10:04:34 -06:00
sarahmarshy 58330fb858 Treat start variable as addrss in `generate_bootloader_build`
Correct spacing.
2018-01-26 13:24:29 -06:00
sarahmarshy 623b1711f9 Introduce sector ceiling/floor rounding
Use ceiling for bootloader end address
Use floor for application size
2018-01-26 13:24:29 -06:00
sarahmarshy 785dd100cf Use Config class sector variable 2018-01-26 13:24:29 -06:00
sarahmarshy 6f39d5a063 Error check existence of sectors 2018-01-26 13:24:29 -06:00
Sarah Marsh 86d4ce1991 Align managed bootloader addresses on sector boundaries
Aligns application start address to sector boundary
Aligns application end address to sector boundary
2018-01-26 13:24:29 -06:00
Sarah Marsh c74de99872 Fix typo in _generate_bootloader_build 2018-01-26 13:24:29 -06:00
Sarah Marsh a2195082cc Add functions for getting sectors in Config class 2018-01-26 13:24:29 -06:00
Jimmy Brisson b3ba9a55b9 Use Config class to find mbed_app.json 2017-12-01 15:18:04 -06:00
Sam Grove 22e82659d1 Merge pull request #4483 from c1728p9/workshop_rebase_4061
Improve error messages for bootloader build errors
2017-06-11 01:09:35 -05:00
Sam Grove ea7561ddbb Merge pull request #4494 from theotherjimmy/absolute-bootloader-paths
Use absolute paths for bootloader binaries
2017-06-08 15:51:04 -05:00
Jimmy Brisson aaaccf0290 Fix typo in tools code to handle bootloader builds
fixes a regression
2017-06-07 15:45:06 -05:00
Jimmy Brisson 9c2626fd01 Use absolute paths for bootloader binaries 2017-06-07 15:00:53 -05:00
Jimmy Brisson 1ee15560a7 Improve error messages for bootloader build errors 2017-06-06 17:57:25 -05:00
Jimmy Brisson caa50cb8a8 Allow overriding of non-cumulative target attributes 2017-06-02 12:03:53 +01:00
Jimmy Brisson fd26d5b5a7 Allow app config to override start and size 2017-05-08 13:25:28 -05:00
Jimmy Brisson 7e03d8f1b4 Merge pull request #4110 from theotherjimmy/build-metadata
Add --build-data switch to mbed compile and test
2017-05-02 11:35:47 -05:00
Jimmy Brisson 7f0ed3b40b Merge pull request #4136 from theotherjimmy/bootlader-exists
Error when bootloader is specified but does not exist
2017-05-02 11:34:30 -05:00
Martin Kojtal a8da481ce3 Config: config header file should contain new line 2017-04-28 10:41:23 +01:00
Jimmy Brisson 2a84ddd6e4 Error when bootloader is specified but does not exist
The changes to build_api.py make the error happen when running things
like get_config.py
2017-04-20 11:23:42 -05:00
Jimmy Brisson da9c10be48 Expand build reports in the tools 2017-04-20 11:03:15 -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