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

Microbit features develop rebase #7

Open
wants to merge 56 commits into
base: develop
Choose a base branch
from

Conversation

microbit-carlos
Copy link
Collaborator

Thanks @c1728p9 for rebasing the microbit_features branch and resolve the conflicts.

From the original notes:

The kl27z_microbit_if passed the DAPLink endpoint tests with this PR.

Conflicts during the rebase:

  • fb73881 - Sync latest features including:
    • kidff3 autoresolved changes in DAPLink\source\daplink\cmsis-dap\DAP.c
  • e8480a6 - Update wake from deep sleep handling
    • reset_button_pressed renamed DAPLink\source\daplink\bootloader\main_bootloader.c
  • 258d0b7 - # 54 Bump DAPLink version to 255
    • Version bumped to 257 (was 256 in develop) in DAPLink\records\tools\version.yaml
  • 2482d2a - Formatting and indentation
    • kidff3 autoresolved changes in DAPLink\source\daplink\cmsis-dap\DAP.c
  • Make microbit bootloader optional for kl27z HIC - source/hic_hal/freescale/kl27z/gcc/startup_MKL27Z4.S
    • Use existing .S file and bring over microbit flash locking changes

Fixups after rebasing:

  • a6b95c8 - Add microbit specific features
    • change main.h to main_interface.h in DAPLink\source\board\microbitv2\microbitv2.c
  • 147b1b4 - Set usb_state to disconnected immediately after cable deatch, instead of waiting to the main loop poll to update the status.
    • change main.h to main_interface.h in DAPLink\source\board\microbitv2\power.c
  • 5d3b4e8 - Fix lost serial bytes during flash operations
    • change main.h to main_interface.h in DAPLink\source\hic_hal\freescale\kl27z\i2c.c
  • 38fe9bc - # 64 Assume "PC connected" at the start of USB communication instead of waiting for the whole enumeration process to be finished.
    • change __weak to __WEAK in DAPLink\source\usb\usb_lib.c
  • f3d9350 - remove arm copyright from newly added files
    • change main.h to main_interface.h in DAPLink\source\board\microbitv2\i2c_commands.c
  • New commit - Fix unterminated comment on kl27z GCC
    • DAPLink\source\hic_hal\freescale\kl27z\gcc\startup_MKL27Z4.S

gerargz added 30 commits August 12, 2021 13:30
-Added ROM setting to enable/disable feature via .cfg files.
-Implemented hook at flash_decoder layer once the first 12 vectors are obtained (flash decoder min size)
-hook for custom reset button handling
-hook for 30ms event tick
-hook for power down event
-usb state udpate
-Add KL27Z NXP drivers
-Power monitor (detect power source)
-Board Rev Id detection
-i2c support
-low power support
-button and LED handling
-build filesystem hook for error blob app and DATA.BIN file creation
-Added microbit custom BL project for custom URL in HELP_FAQ.HTM
-I2C comms and flash interface
-SWD clock speed improvements
-Make power LED remain active in VLPS mode. Changed FlexIO source clock to one that is active in VLPS.
-Removed NRF Power mode property
-Added Power LED sleep state property
-Changed size of properties 0x01-03 to 2B
-Add property for Kl27 user event (wakeup or long button press)
-Blink LED when attempting to enter deep sleep but are PC connected
-Hold interrupt line to send I2C message on reset long press
-Clear I2C responses after first read in the comms interface
-Change wake up when the reset button is pressed instead of released
-Add hook in bootloader project to bypass reset button check to jump directly to the interface
-Reset the nRF whenever we wakeup from the reset button independently of the press duration
-Keep red LED ON after a long press.
-When the reset button is pressed, the KL27 will reset the `Power LED Sleep state` value to the default ON
-Red LED in deep sleep mode now depends on the `Power LED Sleep state` it can be either HIGH or LOW but no PWM.
…this command doesn't assert the interrupt line.
… of waiting to the main loop poll to update the status.
-Add support for reading flash config data
-Change filesize to bytes instead of KB
-Fix address ranges in erase storage cmd
-Add more validations to different commands
gerargz and others added 26 commits August 13, 2021 14:03
-Keep interrupts enabled during flash operations
-Shortened I2C ISR
-Disable USB regulator, it's not needed since we use external regulator
-Disable more pins during power down, and disable unecessary internal pullups
-Add timeout for staying in RUN mode after waking up or receiving I2C transaction
-Prevent entering sleep if I2C command is being processed
-Update power source when usb is attached/detached
-Don't process I2C Writes with nop cmd
…stead of waiting for the whole enumeration process to be finished.
…handling when target flash operation is in progress
…ted to return LED to its default state and clear pending I2C interrupts
- Set backdoor key to 'MICROBIT'.
- Enable FPROT for first 32 kB of flash.
- Fix FPROTx numbering according to KL27 RM, where FPROT3 is at address 0x408.
- Enable backdoor key in FSEC.
- Added asterisks next to selected options in comments for FOPT and FSEC.
(cherry picked from commit 1d7ad5d)

Modifications:
-Only define MICROBIT_LOCK_BOOTLOADER for kl27z_microbit_bl project
-Keep only one common: section in kl27z_microbit_bl.yaml
update formatting
made microbit specific changes to be board configurable via yaml files
Fix GCC builds by closing the unterminated comment in
startup_MKL27Z4.S.
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.

4 participants