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

Nrf52 adopt soc scheme v2 #5

Conversation

gmarull
Copy link

@gmarull gmarull commented Feb 14, 2024

No description provided.

This commit adopts hw model v2 to nRF SoC family.

This ensures that when hw model v2 is used for an nRF51, nRF52, nRF53,
and nRF91 SoC series, so that all SoC selections are handled internally
by Kconfig, and no selection / re-configuration is possible by end-user
or through configuration files.

Hw model v2 requires the SoC to be self-contained, that is no
references are allowed out-side the SoC Kconfig tree.

All Zephyr Kconfig specifics are therefore sourced into the Zephyr
Kconfig tree through Kconfig.zephyr and Kconfig.zephyr.defconfig.

Signed-off-by: Jamie McCrae <[email protected]>
Adds support for determining the running from the identifier
which is needed for HWMv2

Signed-off-by: Jamie McCrae <[email protected]>
This commit updates nrf52840dk_nrf52840 and nrf52840_nrf52811 to use
board scheme v2, and thereby remove the Kconfig BOARD setting, as this
is now passed from CMake.

It combines both boards in a common nrf52840dk board folder where each
SoC is an entry in the board.yml file.

It also uses the new SoC approach, and thereby ensuring that the right
SoC is always used, and cannot accidentially be changed by the user.

Signed-off-by: Jamie McCrae <[email protected]>
This commit updates nrf5340dk_nrf5340 to use board scheme v2, and
thereby remove the Kconfig BOARD setting, as this is now passed from
CMake.

The nRF5340dk now support cpuapp and cpunet as cpusets, and the ns as
a build variant.

It also uses the new SoC approach, and thereby ensuring that the right
SoC is always used, and cannot accidentially be changed by the user.

Signed-off-by: Jamie McCrae <[email protected]>
This commit updates nrf51dk_nrf51422 to use board scheme v2, and
thus becomes board nrf51dk with the SoC nrf51422.

It also uses the new SoC approach, and thereby ensuring that the right
SoC is always used, and cannot accidentially be changed by the user.

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
nordicjm and others added 18 commits February 14, 2024 07:37
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Updates MCUboot to bring in updated hwmv2 board names

Signed-off-by: Jamie McCrae <[email protected]>
Moves this SoC over from v1 to v2 so it can be used in HWMv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Moves this SoC over from v1 to v2 so it can be used in HWMv2, and
fix the SoC configuration for existing nordic_nrf devices which
was not ported properly

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Updates tests that use board names which have changed with boards v2

Signed-off-by: Jamie McCrae <[email protected]>
Fixes an issue in hwmv2 whereby an overlay file exists with the full
board name and identifier which worked in hwmv1

Signed-off-by: Jamie McCrae <[email protected]>
- Move VPR core code to top level common folder, as it's not nRF54H
  specific
- Drop unnecessary arm/riscv folders in nrf54h directory
- Move files from soc/common/nordic_nrf to soc/nordic_nrf/common

Kconfig is still a bit messy in soc/nordic_nrf, some stuff that used to
be "common" is no longer common, hence some added dependencies to ARM.
This can likely be improved with a round of cleanups.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
Signed-off-by: Gerard Marull-Paretas <[email protected]>
@nordicjm nordicjm force-pushed the nrf52_adopt_soc_scheme_v2 branch 8 times, most recently from 2c91418 to cf5b302 Compare February 14, 2024 14:13
@gmarull gmarull deleted the branch tejlmand:nrf52_adopt_soc_scheme_v2 June 5, 2024 08:22
@gmarull gmarull closed this Jun 5, 2024
@gmarull gmarull deleted the nrf52_adopt_soc_scheme_v2 branch June 5, 2024 08:22
tejlmand pushed a commit that referenced this pull request Oct 30, 2024
hci_packet_complete(buf, buf_size) should check whether buf_size is
enough.
For instance, hci_packet_complete can receive buf with buf_size 1,
leading to the buffer overflow in cmd->param_len, which is buf[3].
This can happen when rx_thread() receives two frames in 512 bytes
and the first frame size is 511. Then, rx_thread() will call
hci_packet_complete() with 1.

==5==ERROR: AddressSanitizer: global-buffer-overflow on address
0x000000ad81c2 at pc 0x0000005279b3 bp 0x7fffe74f5b70 sp 0x7fffe74f5b68

READ of size 2 at 0x000000ad81c2 thread T6
    #0 0x5279b2  (/root/zephyr.exe+0x5279b2)
    #1 0x4d697d  (/root/zephyr.exe+0x4d697d)
    #2 0x7ffff60e5daa  (/lib/x86_64-linux-gnu/libc.so.6+0x89daa)
(BuildId: 2e01923fea4ad9f7fa50fe24e0f3385a45a6cd1c)

0x000000ad81c2 is located 2 bytes to the right of global variable
'rx_thread.frame' defined in 'zephyr/drivers/bluetooth/hci/userchan.c'
(0xad7fc0) of size 512
SUMMARY: AddressSanitizer: global-buffer-overflow
(/root/zephyr.exe+0x5279b2)
Thread T6 created by T2 here:
    #0 0x48c17c  (/root/zephyr.exe+0x48c17c)
    #1 0x530192  (/root/zephyr.exe+0x530192)
    #2 0x4dcc22  (/root/zephyr.exe+0x4dcc22)

Thread T2 created by T1 here:
    #0 0x48c17c  (/root/zephyr.exe+0x48c17c)
    #1 0x530192  (/root/zephyr.exe+0x530192)
    #2 0x4dcc22  (/root/zephyr.exe+0x4dcc22)

Thread T1 created by T0 here:
    #0 0x48c17c  (/root/zephyr.exe+0x48c17c)
    #1 0x52f36c  (/root/zephyr.exe+0x52f36c)
    #2 0x5371dc  (/root/zephyr.exe+0x5371dc)
    #3 0x5312a6  (/root/zephyr.exe+0x5312a6)
    #4 0x52ed7b  (/root/zephyr.exe+0x52ed7b)
    #5 0x52eddd  (/root/zephyr.exe+0x52eddd)
    #6 0x7ffff6083c89  (/lib/x86_64-linux-gnu/libc.so.6+0x27c89)
(BuildId: 2e01923fea4ad9f7fa50fe24e0f3385a45a6cd1c)

==5==ABORTING

Signed-off-by: Sungwoo Kim <[email protected]>
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.

2 participants