Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add LPC55xx HIC support to experimental_compilers #803

Merged

Conversation

mbrossard
Copy link
Contributor

@flit is the main author, tested with MCU-Link.

@mathias-arm mathias-arm requested a review from flit April 21, 2021 21:06
@mbrossard mbrossard force-pushed the feature/lpc55xx_hic branch 2 times, most recently from 1bf9c25 to 76271c1 Compare April 22, 2021 15:51
flit and others added 26 commits April 22, 2021 16:14
- Add weak flash_is_readable() to flash_hal.*. The default implementation
  just checks if the address is valid.
- Use the new API in info.c to verify the flash pages containing the
  bootloader/interface info fields are accessible.
- bootloader_update.c checks readability.
- The cfgrom support checks readability. Plus changed to use the flash
  HAL API.
- Saving nominal requested clock frequency in DAP_Data.
- Made SWD bit banging functions weak.
- Because the LPC5xx series raises bus faults on attempts to read from
erased sectors in internal flash, the standard validate_bin_nvic() has
to be overridden to prevent the bootloader from faulting when it tries
to check if there is a valid interface app in flash.
- This is done by supplying a target family and custom NVIC validator
function.
- The standard NVIC validation code is split out from validate_bin_nvic()
into validate_bin_nvic_base() so it can be called from the custom
validator once it is determined that the sector is programmed, or if
the given address is not in internal flash.
- Provide an overridden implementation of flash_is_page_readable() that
uses the flash blank check command to see if the page is erased.
- Booting BL and IF to 96 MHz, to keep main clock below 100 MHz so
  internal flash can be programmed.
- IF changes to 150 MHz when initing USB clocks.
Lots of cleanup to make USBD driver more understandable.
- Implemented gpio.c.
- Updated IO_Config.h and added mask macros.
- Implemented DAP_config.h.
@mathias-arm mathias-arm merged commit 3406476 into ARMmbed:experimental_compilers Apr 23, 2021
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants