Skip to content

Commit 280a5ca

Browse files
committed
portenta_h7: replace USERSPACE with disable_mpu_rasr_xn hack
1 parent d6d64d8 commit 280a5ca

File tree

10 files changed

+40
-40
lines changed

10 files changed

+40
-40
lines changed
-62.5 KB
Binary file not shown.
-933 KB
Binary file not shown.

loader/boards/arduino_portenta_h7_m7.conf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,19 @@ CONFIG_ICACHE=y
1616
CONFIG_DCACHE=y
1717
CONFIG_CACHE_MANAGEMENT=y
1818

19-
CONFIG_USERSPACE=y
19+
CONFIG_USERSPACE=n
2020
CONFIG_ARM_MPU=y
2121
CONFIG_MAX_THREAD_BYTES=4
2222

2323
CONFIG_SHELL_STACK_SIZE=32768
24+
CONFIG_MAIN_STACK_SIZE=32768
2425
CONFIG_LLEXT_HEAP_SIZE=128
2526

2627
#CONFIG_ADC=y
2728
#CONFIG_PWM=y
2829

30+
CONFIG_NET_CORE_LOG_LEVEL_DBG=y
31+
2932
CONFIG_NETWORKING=y
3033
CONFIG_NET_IPV6=n
3134
CONFIG_NET_IPV4=y
@@ -39,8 +42,12 @@ CONFIG_DNS_SERVER1="8.8.8.8"
3942

4043
CONFIG_INIT_STACKS=y
4144

45+
CONFIG_NET_SOCKETS=y
46+
CONFIG_NET_SOCKETS_NET_MGMT=y
4247
CONFIG_NET_MGMT=y
4348
CONFIG_NET_MGMT_EVENT=y
49+
CONFIG_NET_L2_ETHERNET=y
50+
CONFIG_NET_L2_ETHERNET_MGMT=y
4451

4552
CONFIG_TINYCRYPT=y
4653
CONFIG_TINYCRYPT_AES=y

loader/fixups.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
#if CONFIG_BOARD_ARDUINO_NANO_33_BLE
2-
31
#include <cmsis_core.h>
2+
#include <zephyr/init.h>
43
void disable_mpu_rasr_xn(void)
54
{
65
uint32_t index;
@@ -21,6 +20,7 @@ void disable_mpu_rasr_xn(void)
2120
}
2221
}
2322

23+
#if defined(CONFIG_BOARD_ARDUINO_NANO_33_BLE)
2424
int disable_bootloader_mpu() {
2525
// MPU was previously enabled in the bootloader
2626
// https://github.com/bcmi-labs/zephyr/blob/31cb7dd00fd5bce4c69896b3b2ddf6259d0c0f2b/boards/arm/arduino_nano_33_ble/arduino_nano_33_ble_defconfig#L10C1-L10C15
@@ -32,5 +32,8 @@ int disable_bootloader_mpu() {
3232
return 0;
3333
}
3434
SYS_INIT(disable_bootloader_mpu, PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
35+
#endif
3536

37+
#if defined (CONFIG_BOARD_ARDUINO_PORTENTA_H7)
38+
SYS_INIT(disable_mpu_rasr_xn, PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
3639
#endif

variants/arduino_portenta_h7/llext-edk/include/zephyr-arduino-core/include/custom_lib/custom_lib.h

Lines changed: 0 additions & 24 deletions
This file was deleted.

variants/arduino_portenta_h7/llext-edk/include/zephyr/include/generated/zephyr/autoconf.h

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
#define CONFIG_PHY_INIT_PRIORITY 81
3535
#define CONFIG_USE_DT_CODE_PARTITION 1
3636
#define CONFIG_CACHE_MANAGEMENT 1
37-
#define CONFIG_MAX_DOMAIN_PARTITIONS 16
3837
#define CONFIG_FLASH_LOAD_OFFSET 0x40000
3938
#define CONFIG_HW_STACK_PROTECTION 1
4039
#define CONFIG_NET_TCP_CHECKSUM 1
@@ -62,7 +61,7 @@
6261
#define CONFIG_ENTROPY_INIT_PRIORITY 50
6362
#define CONFIG_SOC_SERIES "stm32h7x"
6463
#define CONFIG_SOC_FAMILY "stm32"
65-
#define CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE 2048
64+
#define CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE -1
6665
#define CONFIG_GEN_ISR_TABLES 1
6766
#define CONFIG_GEN_SW_ISR_TABLE 1
6867
#define CONFIG_REBOOT 1
@@ -213,12 +212,11 @@
213212
#define CONFIG_LITTLE_ENDIAN 1
214213
#define CONFIG_SRAM_SIZE 512
215214
#define CONFIG_SRAM_BASE_ADDRESS 0x24000000
216-
#define CONFIG_USERSPACE 1
217215
#define CONFIG_KOBJECT_DATA_AREA_RESERVE_EXTRA_PERCENT 100
218216
#define CONFIG_KOBJECT_RODATA_AREA_EXTRA_BYTES 16
219217
#define CONFIG_GEN_PRIV_STACKS 1
220-
#define CONFIG_MAX_THREAD_BYTES 4
221218
#define CONFIG_NOCACHE_MEMORY 1
219+
#define CONFIG_ISR_TABLES_LOCAL_DECLARATION_SUPPORTED 1
222220
#define CONFIG_IRQ_VECTOR_TABLE_JUMP_BY_ADDRESS 1
223221
#define CONFIG_EXCEPTION_DEBUG 1
224222
#define CONFIG_ARCH_HAS_TIMING_FUNCTIONS 1
@@ -287,7 +285,6 @@
287285
#define CONFIG_SYS_CLOCK_EXISTS 1
288286
#define CONFIG_TIMEOUT_64BIT 1
289287
#define CONFIG_SYS_CLOCK_MAX_TIMEOUT_DAYS 365
290-
#define CONFIG_EXECUTE_XOR_WRITE 1
291288
#define CONFIG_STACK_POINTER_RANDOM 0
292289
#define CONFIG_ARCH_MEM_DOMAIN_SUPPORTS_ISOLATED_STACKS 1
293290
#define CONFIG_MEM_DOMAIN_ISOLATED_STACKS 1
@@ -552,7 +549,6 @@
552549
#define CONFIG_LIBGCC_RTLIB 1
553550
#define CONFIG_RING_BUFFER 1
554551
#define CONFIG_PRINTK 1
555-
#define CONFIG_PRINTK_BUFFER_SIZE 32
556552
#define CONFIG_EARLY_CONSOLE 1
557553
#define CONFIG_ASSERT_VERBOSE 1
558554
#define CONFIG_FILE_SYSTEM 1
@@ -579,6 +575,7 @@
579575
#define CONFIG_LOG_DEFAULT_LEVEL 3
580576
#define CONFIG_LOG_OVERRIDE_LEVEL 0
581577
#define CONFIG_LOG_MAX_LEVEL 4
578+
#define CONFIG_LOG_PRINTK 1
582579
#define CONFIG_LOG_TRACE_SHORT_TIMESTAMP 1
583580
#define CONFIG_LOG_FUNC_NAME_PREFIX_DBG 1
584581
#define CONFIG_LOG_TAG_MAX_LEN 0
@@ -598,6 +595,7 @@
598595
#define CONFIG_NET_HOSTNAME_MAX_LEN 63
599596
#define CONFIG_NET_HOSTNAME_LOG_LEVEL 0
600597
#define CONFIG_NET_L2_ETHERNET_LOG_LEVEL 0
598+
#define CONFIG_NET_L2_ETHERNET_MGMT 1
601599
#define CONFIG_NET_ARP 1
602600
#define CONFIG_NET_ARP_TABLE_SIZE 2
603601
#define CONFIG_NET_ARP_GRATUITOUS 1
@@ -620,7 +618,7 @@
620618
#define CONFIG_NET_IPV4_LOG_LEVEL 0
621619
#define CONFIG_NET_ICMPV4_LOG_LEVEL 0
622620
#define CONFIG_NET_IPV4_ACD_LOG_LEVEL 0
623-
#define CONFIG_NET_TC_TX_COUNT 1
621+
#define CONFIG_NET_TC_TX_COUNT 0
624622
#define CONFIG_NET_TC_RX_COUNT 1
625623
#define CONFIG_NET_TC_THREAD_COOPERATIVE 1
626624
#define CONFIG_NET_TC_NUM_PRIORITIES 16
@@ -670,6 +668,7 @@
670668
#define CONFIG_NET_MGMT_EVENT_QUEUE 1
671669
#define CONFIG_NET_MGMT_EVENT_QUEUE_SIZE 5
672670
#define CONFIG_NET_MGMT_EVENT_QUEUE_TIMEOUT 10
671+
#define CONFIG_NET_MGMT_EVENT_INFO 1
673672
#define CONFIG_NET_MGMT_EVENT_LOG_LEVEL 0
674673
#define CONFIG_NET_PKT_LOG_LEVEL 0
675674
#define CONFIG_NET_DEBUG_NET_PKT_EXTERNALS 0
@@ -686,6 +685,12 @@
686685
#define CONFIG_DNS_RESOLVER_AI_MAX_ENTRIES 2
687686
#define CONFIG_DNS_RESOLVER_MAX_SERVERS 1
688687
#define CONFIG_DNS_RESOLVER_MAX_QUERY_LEN 255
688+
#define CONFIG_DNS_SERVER_IP_ADDRESSES 1
689+
#define CONFIG_DNS_SERVER1 "8.8.8.8"
690+
#define CONFIG_DNS_SERVER2 ""
691+
#define CONFIG_DNS_SERVER3 ""
692+
#define CONFIG_DNS_SERVER4 ""
693+
#define CONFIG_DNS_SERVER5 ""
689694
#define CONFIG_DNS_NUM_CONCUR_QUERIES 1
690695
#define CONFIG_DNS_RESOLVER_LOG_LEVEL 0
691696
#define CONFIG_DNS_SOCKET_DISPATCHER 1
@@ -710,6 +715,8 @@
710715
#define CONFIG_NET_SOCKETPAIR 1
711716
#define CONFIG_NET_SOCKETPAIR_BUFFER_SIZE 64
712717
#define CONFIG_NET_SOCKETPAIR_HEAP 1
718+
#define CONFIG_NET_SOCKETS_NET_MGMT 1
719+
#define CONFIG_NET_SOCKETS_NET_MGMT_MAX_LISTENERS 1
713720
#define CONFIG_NET_SOCKETS_LOG_LEVEL 0
714721
#define CONFIG_NET_DHCPV4 1
715722
#define CONFIG_NET_DHCPV4_LOG_LEVEL 0
@@ -812,7 +819,7 @@
812819
#define CONFIG_LINKER_GENERIC_SECTIONS_PRESENT_AT_BOOT 1
813820
#define CONFIG_LINKER_LAST_SECTION_ID 1
814821
#define CONFIG_LINKER_LAST_SECTION_ID_PATTERN 0xE015E015
815-
#define CONFIG_LINKER_USE_NO_RELAX 1
822+
#define CONFIG_LINKER_USE_RELAX 1
816823
#define CONFIG_LINKER_ITERABLE_SUBALIGN 4
817824
#define CONFIG_LINKER_DEVNULL_SUPPORT 1
818825
#define CONFIG_STD_C99 1

variants/arduino_portenta_h7/llext-edk/include/zephyr/include/generated/zephyr/linker-kobject-prebuilt-data.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
#endif
44

55
#ifndef KOBJECT_DATA_SZ
6-
#define KOBJECT_DATA_SZ 6416
6+
#define KOBJECT_DATA_SZ 8496
77
#endif
88

variants/arduino_portenta_h7/llext-edk/include/zephyr/include/generated/zephyr/linker-kobject-prebuilt-rodata.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
#endif
44

55
#ifndef KOBJECT_RODATA_SZ
6-
#define KOBJECT_RODATA_SZ 296
6+
#define KOBJECT_RODATA_SZ 552
77
#endif
88

variants/arduino_portenta_h7/llext-edk/include/zephyr/include/generated/zephyr/offsets.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,15 @@
2020
#define ___thread_base_t_user_options_OFFSET 0xc
2121
#define ___thread_t_base_OFFSET 0x0
2222
#define ___thread_t_callee_saved_OFFSET 0x30
23-
#define ___thread_t_arch_OFFSET 0xd4
23+
#define ___thread_t_arch_OFFSET 0xc0
2424
#define ___thread_t_stack_info_OFFSET 0x98
25-
#define ___thread_t_tls_OFFSET 0xbc
25+
#define ___thread_t_tls_OFFSET 0xa8
2626
#define __z_interrupt_stack_SIZEOF 0x880
2727
#define _PM_DEVICE_STRUCT_FLAGS_OFFSET 0x0
2828
#define ___thread_arch_t_basepri_OFFSET 0x0
2929
#define ___thread_arch_t_swap_return_value_OFFSET 0x4
3030
#define ___thread_arch_t_mode_OFFSET 0x48
3131
#define ___thread_arch_t_mode_exc_return_OFFSET 0x49
32-
#define ___thread_arch_t_priv_stack_start_OFFSET 0x4c
3332
#define ___thread_arch_t_preempt_float_OFFSET 0x8
3433
#define ___basic_sf_t_pc_OFFSET 0x18
3534
#define ___basic_sf_t_xpsr_OFFSET 0x1c
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#include <zephyr/kernel.h>
2+
3+
void _on_1200_bps() {
4+
uint32_t tmp = (uint32_t) & (RTC->BKP0R);
5+
tmp += (RTC_BKP_DR0 * 4U);
6+
*(__IO uint32_t *)tmp = (uint32_t)0xDF59;
7+
NVIC_SystemReset();
8+
}

0 commit comments

Comments
 (0)