Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
i.MX8M Plus - PCA9450C使用時のWDOG_B# PU チームの皆さん、こんにちは。 BSDLモードを使用するには、WDOG_B#ピンに100k PUをマウントする必要がありますか? ハードウェア設計ガイドによると、「PCA9450以外のPMICを使用する場合は、外部のもの」と書かれています プルアップ抵抗(100 kΩ)が必要になることがあります 境界スキャンモード」 EVK設計では10万PUがWDOG_B#ピンに取り付けられ、同じPCA9450 PMICを使っているようです。 ご確認ください。 PMIC Re: i.MX8M Plus - WDOG_B# PU when using PCA9450C PCA9450CデフォルトでWDOG_Bリセットを無効にし、プルアップは通常の動作に必須ではありませんが、境界スキャンサポートが必要な場合には100 kΩプルアップの追加をNXPは推奨しています。EVKは、BSDLテスト中に定義されたWDOG_Bレベルを確保し、バウンダリスキャンモードでWDOG_Bがフローティング状態になった場合に発生する可能性のあるリセットの問題を回避するために、この抵抗器も実装します。
查看全文
Help with ECDSA Verification in LPC55S28 Bootloader (32KB Size Limit) Hello NXP Community, I'm developing a secure bootloader for the LPC55S28 and have run into a significant code size issue when implementing ECDSA signature verification. Current Issue My bootloader needs to verify ECDSA P-256 signatures, and it must fit within a 32KB flash region. When using mbedTLS for ECDSA verification (even with a minimal configuration that only enables ECDSA), my code size explodes from approximately 13KB to 56KB: Spoiler (Highlight to read) Name Run address Load address Size Type .text 0x0 n/a 56412 section mpi_mul_hlp 0x9ae2 n/a 6388 local function ecp_mod_p256 0x839c n/a 2032 local function shiftleft 0x2bd0 n/a 1792 local function MultprecCiosMul521_ct 0x4fdc n/a 1772 local function shiftright 0x2514 n/a 1724 local function double_scalar_multiplication 0x3fb4 n/a 1580 global function MultprecCiosMul_ct 0x1b4c n/a 1444 local function mbedtls_mpi_div_mpi 0xb69c n/a 1316 global function mbedtls_mpi_inv_mod 0xbdfa n/a 1090 global function precompute_double_scalar_LUT16 0x3aac n/a 1084 local function invert_mod_p384 0x4884 n/a 1062 local function ecp_double_jac 0x7d6c n/a 972 local function ecp_add_mixed 0xac8 n/a 912 local function mbedtls_ecp_muladd_restartable 0xea8 n/a 868 global function Jac_addition 0x33ec n/a 776 global function StrFormatPrintf 0x735c n/a 700 global function invert_mod_p521 0x4d14 n/a 616 local function invert_mod_p256 0x45e0 n/a 576 local function verify_ecdsa_signature 0x4a4 n/a 544 local function Jac_add_affine 0x36f4 n/a 536 global function ecdsa_verify_restartable 0x12c0 n/a 504 local function USART_Init 0x6404 n/a 460 global function mbedtls_mpi_gcd 0xbc4a n/a 432 global function CASPER_montadd 0x21f0 n/a 428 local function hashcrypt_sha_process_message_data 0x5ddc n/a 420 local function Jac_double 0x390c n/a 416 global function USART_SetBaudRate 0x6650 n/a 396 global function mbedtls_mpi_mul_mpi 0xb3d6 n/a 382 global function CLOCK_SetFLASHAccessCyclesForFreq 0x5888 n/a 380 global function __aeabi_uldivmod 0xd048 n/a 372 global function mbedtls_mpi_add_abs 0x96ba n/a 366 global function read_and_verify_toc 0x6c4 n/a 364 local function CASPER_ECC_SECP521R1_MulAdd 0x19f4 n/a 344 global function CASPER_half 0x239c n/a 340 local function lowpower_set_system_voltage 0x6024 n/a 340 local function mbedtls_mpi_shift_l 0x91bc n/a 330 global function mbedtls_mpi_sub_abs 0x98ba n/a 326 global function CASPER_ECC_SECP256R1_MulAdd 0x179c n/a 324 global function DbgConsole_Init 0x2b0 n/a 312 global function mbedtls_mpi_shift_r 0x9306 n/a 310 global function mbedtls_mpi_cmp_mpi 0x9540 n/a 310 global function __Vectors 0x0 n/a 304 global object g_pfnVectors 0x0 n/a 304 global object CASPER_ECC_SECP384R1_MulAdd 0x18e0 n/a 276 global function HAL_UartInitCommon 0x68cc n/a 272 local function mbedtls_mpi_cmp_abs 0x943c n/a 260 global function CASPER_montsub 0x20f0 n/a 256 local function CASPER_MEMCPY 0x14e0 n/a 252 global function fseek 0x6d50 n/a 248 global function ecp_normalize_jac 0x7c78 n/a 244 local function hashcrypt_sha_finalize 0xc5e2 n/a 238 local function lowpower_set_dcdc_power_profile 0x6178 n/a 236 local function mbedtls_mpi_copy 0x8cf6 n/a 210 global function ecp_modp 0x9f8 n/a 208 local function HASHCRYPT_SHA_Update 0xc7ac n/a 208 global function precompute_double_scalar_LUT4 0x3ee8 n/a 204 local function mbedtls_ecp_point_read_binary 0x930 n/a 200 global function malloc 0x6b2c n/a 200 global function mbedtls_mpi_write_binary 0x90f4 n/a 200 global function ConvertRadixNumToString 0x7208 n/a 194 local function HASHCRYPT_SHA_Finish 0xc87c n/a 184 global function mbedtls_int_div_int 0xb5e8 n/a 180 local function mbedtls_ecp_fix_negative 0x82f0 n/a 172 local function lowpower_set_voltage_for_process 0xc934 n/a 170 local function Jac_toAffine 0x3348 n/a 164 global function HASHCRYPT_DriverIRQHandler 0x5f80 n/a 164 global function ecp_group_load 0x81c2 n/a 162 local function CLOCK_AttachClk 0x56e8 n/a 160 global function add_sub_mpi 0x9a00 n/a 156 local function mbedtls_ecp_group_free 0x7966 n/a 152 global function lowpower_get_part_process_corner 0x6264 n/a 148 local function mbedtls_mpi_mul_int 0xb554 n/a 148 global function derive_mpi 0xc23c n/a 148 local function mpi_sub_hlp 0x9828 n/a 146 local function casper_select 0x15dc n/a 144 local function hashcrypt_get_data 0xc454 n/a 144 local function USART_WriteBlocking 0x67dc n/a 140 global function PrintGetPrecision 0x6fba n/a 140 local function mbedtls_mpi_mod_mpi 0xbbc0 n/a 138 global function mbedtls_ecp_group_load 0x1238 n/a 136 global function main 0x8ac n/a 132 global function mbedtls_mpi_grow 0x8c1c n/a 132 global function CLOCK_SetClkDiv 0x5788 n/a 128 global function CLOCK_SetupFROClocking 0x5808 n/a 128 global function USART_GetDefaultConfig 0x65d0 n/a 128 global function mbedtls_ecp_group_init 0x7888 n/a 126 global function jump_to_application 0x830 n/a 124 local function mbedtls_mpi_read_binary 0x907a n/a 122 global function CASPER_ecc_init 0x166c n/a 120 global function multiply_casper 0x32d0 n/a 120 local function _initio 0x6bf4 n/a 120 global function FLEXCOMM_SetPeriph 0xc3e0 n/a 116 local function CASPER_ECC_equal 0x16e4 n/a 112 global function _Cwritebuf 0x6ca8 n/a 108 global function hashcrypt_sha_one_block 0xc576 n/a 108 local function PrintGetWidth 0x6f50 n/a 106 local function DbgConsole_Vprintf 0x3e8 n/a 104 global function toMontgomery_ECC_P384 0x4cac n/a 104 local function mbedtls_mpi_bitlen 0x8f30 n/a 104 global function _fdopen 0xcee2 n/a 104 global function DbgConsole_PrintCallback 0x6ebe n/a 102 local function mbedtls_mpi_lsb 0x8e88 n/a 102 global function mpi_bigendian_to_host 0x9014 n/a 102 local function ResetISR 0x180 n/a 100 global function toMontgomery_ECC_P256 0x4820 n/a 100 local function SystemInit 0x6868 n/a 100 weak function HAL_UartSendBlocking 0x69dc n/a 100 global function FLEXCOMM_PeripheralIsPresent 0xc37c n/a 100 local function mbedtls_ecp_copy 0x7a48 n/a 98 global function toMontgomery_ECC_P521 0x4f7c n/a 96 local function RESET_ClearPeripheralReset 0x63a4 n/a 96 global function mbedtls_mpi_sub_mod 0x7b64 n/a 96 local function SerialManager_Init 0xcb56 n/a 96 global function SerialManager_OpenReadHandle 0xcc06 n/a 96 global function reverse_array 0x8138 n/a 94 local function HASHCRYPT_SHA 0xc6fe n/a 94 global function FLEXCOMM0_DriverIRQHandler 0x5aa0 n/a 92 global function FLEXCOMM1_DriverIRQHandler 0x5afc n/a 92 global function FLEXCOMM2_DriverIRQHandler 0x5b58 n/a 92 global function FLEXCOMM3_DriverIRQHandler 0x5bb4 n/a 92 global function FLEXCOMM4_DriverIRQHandler 0x5c10 n/a 92 global function FLEXCOMM5_DriverIRQHandler 0x5c6c n/a 92 global function FLEXCOMM6_DriverIRQHandler 0x5cc8 n/a 92 global function FLEXCOMM7_DriverIRQHandler 0x5d24 n/a 92 global function FLEXCOMM8_DriverIRQHandler 0x5d80 n/a 92 global function RESET_SetPeripheralReset 0x6348 n/a 92 global function mbedtls_mpi_add_mod 0x7bc4 n/a 92 local function mbedtls_mpi_lset 0x8dea n/a 92 global function BOARD_BootClockFROHF96M 0x6a98 n/a 88 global function mbedtls_mpi_shift_l_mod 0x7c20 n/a 88 local function fclose 0xcf9c n/a 88 global function mbedtls_mpi_resize_clear 0x8ca0 n/a 86 local function DbgConsole_SendDataReliable 0x25c n/a 84 global function calculate_sha256 0x450 n/a 84 local function mbedtls_ecp_set_zero 0x7aaa n/a 82 global function _fflush 0xcf4a n/a 82 global function ecp_add 0xe58 n/a 80 global function FLEXCOMM_Init 0x5a50 n/a 80 global function POWER_SetVoltageForFreq 0x62f8 n/a 80 global function HASHCRYPT_SHA_Init 0xc75c n/a 80 global function SerialManager_OpenWriteHandle 0xcbb6 n/a 80 global function calloc 0xcdc6 n/a 80 global function strlen 0xce54 n/a 78 global function FLEXCOMM_GetInstance 0x5a04 n/a 76 global function mbedtls_mpi_free 0x8bd0 n/a 76 global function CASPER_ECC_equal_to_zero 0x1754 n/a 72 global function mpi_uint_bigendian_to_host_c 0x8fb4 n/a 72 local function add32 0x8264 n/a 70 local function sub32 0x82aa n/a 70 local function ftell 0x6e48 n/a 68 global function PrintOutputdifFobpu 0x70aa n/a 68 local function PrintOutputxX 0x70ee n/a 68 local function mbedtls_mpi_cmp_int 0x9676 n/a 68 global function SerialManager_Write 0xcb12 n/a 68 local function mbedtls_mpi_get_bit 0x8e46 n/a 66 global function mbedtls_clz 0x8eee n/a 66 local function PrintGetRadixFromobpu 0x71c8 n/a 64 local function mbedtls_mpi_mul_mod 0x7b24 n/a 64 local function _deferredlazyseek 0xcea2 n/a 64 global function _do_fflush 0xd008 n/a 64 global function toc_verification_key 0xda84 n/a 64 local object PrintFilterLengthFlag 0x718a n/a 62 local function Serial_UartInit 0xcc86 n/a 62 global function setvbuf 0xce16 n/a 62 global function BOARD_InitDEBUG_UARTPins 0x6af0 n/a 60 global function _sbrk 0x6c6c n/a 60 global function fflush 0x6d14 n/a 60 global function hashcrypt_sha_check_input_args 0xc53a n/a 60 local function BOARD_InitDebugConsole 0x6a40 n/a 56 global function PrintIsobpu 0x7046 n/a 56 local function USART_EnableContinuousSCLK 0xc9fa n/a 56 local function SerialManager_StartWriting 0xcada n/a 56 local function Serial_UartWrite 0xccc4 n/a 56 global function HardFault_Handler 0x77f8 n/a 54 global function HAL_UartInit 0xca62 n/a 54 global function mbedtls_ecp_point_free 0x7932 n/a 52 global function mbedtls_ecp_keypair_free_o 0x79fe n/a 52 global function __aeabi_lowlevel_memset 0xd1f2 n/a 50 global function mbedtls_ecdsa_verify 0xc2e8 n/a 48 global function CLOCK_EnableClock 0xc34c n/a 48 local function free 0xcd96 n/a 48 global function mbedtls_ecp_get_type 0x782e n/a 46 global function IOCON_PinMuxSet 0xcd46 n/a 46 local function __assertion_failed 0x230 n/a 44 global function ecp_mpi_set1 0x120c n/a 44 local function DbgConsole_Printf 0x6f24 n/a 44 global function PrintIsdi 0x707e n/a 44 local function PrintIsfF 0x7132 n/a 44 local function PrintIsxX 0x715e n/a 44 local function mbedtls_ecp_point_init 0x785c n/a 44 global function mbedtls_ecp_keypair_init 0x7906 n/a 44 global function ecp_mpi_load 0x8196 n/a 44 local function hashcrypt_engine_init 0xc4e4 n/a 44 local function hashcrypt_sha_check_input_alg 0xc510 n/a 42 local function __aeabi_memcpy4 0xd1c8 n/a 42 global function __aeabi_memcpy8 0xd1c8 n/a 42 global function mbedtls_platform_zeroize 0x14b8 n/a 40 global function mbedtls_ecp_is_zero 0x7afc n/a 40 global function StrFormatExaminedi 0x72ca n/a 38 local function StrFormatExaminexX 0x72f0 n/a 38 local function StrFormatExamineobpu 0x7316 n/a 38 local function mbedtls_mpi_init 0x8baa n/a 38 global function casper_get_word 0x24f0 n/a 36 local function mbedtls_mpi_sub_mpi 0x9abe n/a 36 global function s_flexcommBaseAddrs 0xdbd8 n/a 36 local object s_flexcommResets 0xdc10 n/a 36 local object mpi_sint_abs 0x8dc8 n/a 34 local function mbedtls_mpi_add_mpi 0x9a9c n/a 34 global function HAL_UartGetStatus 0xca40 n/a 34 local function DisableGlobalIRQ 0xca98 n/a 34 local function POWER_DisablePD 0x56c8 n/a 32 local function ConvertPrecisionWidthToLength 0x733c n/a 32 local function EnableGlobalIRQ 0xcaba n/a 32 local function SerialManager_WriteBlocking 0xcc66 n/a 32 global function secp256r1_p 0xdac4 n/a 32 local object secp256r1_a 0xdae4 n/a 32 local object secp256r1_b 0xdb04 n/a 32 local object secp256r1_gx 0xdb24 n/a 32 local object secp256r1_gy 0xdb44 n/a 32 local object secp256r1_n 0xdb64 n/a 32 local object s_UsartAdapterBase 0xdc34 n/a 32 local object data_init 0x1e8 n/a 30 global function mbedtls_mpi_zeroize 0x8b8c n/a 30 local function mbedtls_ecdsa_free 0xc32e n/a 30 global function mbedtls_mpi_size 0x8f98 n/a 28 global function RESET_PeripheralReset 0xc9de n/a 28 global function fsl_assert_hook 0x6ea4 n/a 26 weak function __check_heap_overflow 0x6e8c n/a 24 global function mpi_uint_bigendian_to_host 0x8ffc n/a 24 local function mbedtls_ecdsa_can_do 0xc2d0 n/a 24 global function hashcrypt_save_running_hash 0xc6d0 n/a 24 local function mbedtls_ecp_keypair_free 0x7a32 n/a 22 global function mbedtls_ecdsa_init 0xc318 n/a 22 global function hashcrypt_restore_running_hash 0xc6e8 n/a 22 local function remove 0xcff4 n/a 20 global function bss_init 0x206 n/a 18 global function s_flexcommClocks 0xdbfc n/a 18 local object SystemInitHook 0xca32 n/a 14 weak function BOARD_InitPeripherals 0xccfc n/a 14 global function __main 0xcd80 n/a 14 global function BOARD_InitBootPeripherals 0xcd0a n/a 12 global function BOARD_InitBootPins 0xcd74 n/a 12 global function __aeabi_memcpy 0xd1be n/a 10 global function Name Run address Load address Size Type.text 0x0 n/a 56412 sectionmpi_mul_hlp 0x9ae2 n/a 6388 local functionecp_mod_p256 0x839c n/a 2032 local functionshiftleft 0x2bd0 n/a 1792 local functionMultprecCiosMul521_ct 0x4fdc n/a 1772 local functionshiftright 0x2514 n/a 1724 local functiondouble_scalar_multiplication 0x3fb4 n/a 1580 global functionMultprecCiosMul_ct 0x1b4c n/a 1444 local functionmbedtls_mpi_div_mpi 0xb69c n/a 1316 global functionmbedtls_mpi_inv_mod 0xbdfa n/a 1090 global functionprecompute_double_scalar_LUT16 0x3aac n/a 1084 local functioninvert_mod_p384 0x4884 n/a 1062 local functionecp_double_jac 0x7d6c n/a 972 local functionecp_add_mixed 0xac8 n/a 912 local functionmbedtls_ecp_muladd_restartable 0xea8 n/a 868 global functionJac_addition 0x33ec n/a 776 global functionStrFormatPrintf 0x735c n/a 700 global functioninvert_mod_p521 0x4d14 n/a 616 local functioninvert_mod_p256 0x45e0 n/a 576 local functionverify_ecdsa_signature 0x4a4 n/a 544 local functionJac_add_affine 0x36f4 n/a 536 global functionecdsa_verify_restartable 0x12c0 n/a 504 local functionUSART_Init 0x6404 n/a 460 global functionmbedtls_mpi_gcd 0xbc4a n/a 432 global functionCASPER_montadd 0x21f0 n/a 428 local functionhashcrypt_sha_process_message_data 0x5ddc n/a 420 local functionJac_double 0x390c n/a 416 global functionUSART_SetBaudRate 0x6650 n/a 396 global functionmbedtls_mpi_mul_mpi 0xb3d6 n/a 382 global functionCLOCK_SetFLASHAccessCyclesForFreq 0x5888 n/a 380 global function__aeabi_uldivmod 0xd048 n/a 372 global functionmbedtls_mpi_add_abs 0x96ba n/a 366 global functionread_and_verify_toc 0x6c4 n/a 364 local functionCASPER_ECC_SECP521R1_MulAdd 0x19f4 n/a 344 global functionCASPER_half 0x239c n/a 340 local functionlowpower_set_system_voltage 0x6024 n/a 340 local functionmbedtls_mpi_shift_l 0x91bc n/a 330 global functionmbedtls_mpi_sub_abs 0x98ba n/a 326 global functionCASPER_ECC_SECP256R1_MulAdd 0x179c n/a 324 global functionDbgConsole_Init 0x2b0 n/a 312 global functionmbedtls_mpi_shift_r 0x9306 n/a 310 global functionmbedtls_mpi_cmp_mpi 0x9540 n/a 310 global function__Vectors 0x0 n/a 304 global objectg_pfnVectors 0x0 n/a 304 global objectCASPER_ECC_SECP384R1_MulAdd 0x18e0 n/a 276 global functionHAL_UartInitCommon 0x68cc n/a 272 local functionmbedtls_mpi_cmp_abs 0x943c n/a 260 global functionCASPER_montsub 0x20f0 n/a 256 local functionCASPER_MEMCPY 0x14e0 n/a 252 global functionfseek 0x6d50 n/a 248 global functionecp_normalize_jac 0x7c78 n/a 244 local functionhashcrypt_sha_finalize 0xc5e2 n/a 238 local functionlowpower_set_dcdc_power_profile 0x6178 n/a 236 local functionmbedtls_mpi_copy 0x8cf6 n/a 210 global functionecp_modp 0x9f8 n/a 208 local functionHASHCRYPT_SHA_Update 0xc7ac n/a 208 global functionprecompute_double_scalar_LUT4 0x3ee8 n/a 204 local functionmbedtls_ecp_point_read_binary 0x930 n/a 200 global functionmalloc 0x6b2c n/a 200 global functionmbedtls_mpi_write_binary 0x90f4 n/a 200 global functionConvertRadixNumToString 0x7208 n/a 194 local functionHASHCRYPT_SHA_Finish 0xc87c n/a 184 global functionmbedtls_int_div_int 0xb5e8 n/a 180 local functionmbedtls_ecp_fix_negative 0x82f0 n/a 172 local functionlowpower_set_voltage_for_process 0xc934 n/a 170 local functionJac_toAffine 0x3348 n/a 164 global functionHASHCRYPT_DriverIRQHandler 0x5f80 n/a 164 global functionecp_group_load 0x81c2 n/a 162 local functionCLOCK_AttachClk 0x56e8 n/a 160 global functionadd_sub_mpi 0x9a00 n/a 156 local functionmbedtls_ecp_group_free 0x7966 n/a 152 global functionlowpower_get_part_process_corner 0x6264 n/a 148 local functionmbedtls_mpi_mul_int 0xb554 n/a 148 global functionderive_mpi 0xc23c n/a 148 local functionmpi_sub_hlp 0x9828 n/a 146 local functioncasper_select 0x15dc n/a 144 local functionhashcrypt_get_data 0xc454 n/a 144 local functionUSART_WriteBlocking 0x67dc n/a 140 global functionPrintGetPrecision 0x6fba n/a 140 local functionmbedtls_mpi_mod_mpi 0xbbc0 n/a 138 global functionmbedtls_ecp_group_load 0x1238 n/a 136 global functionmain 0x8ac n/a 132 global functionmbedtls_mpi_grow 0x8c1c n/a 132 global functionCLOCK_SetClkDiv 0x5788 n/a 128 global functionCLOCK_SetupFROClocking 0x5808 n/a 128 global functionUSART_GetDefaultConfig 0x65d0 n/a 128 global functionmbedtls_ecp_group_init 0x7888 n/a 126 global functionjump_to_application 0x830 n/a 124 local functionmbedtls_mpi_read_binary 0x907a n/a 122 global functionCASPER_ecc_init 0x166c n/a 120 global functionmultiply_casper 0x32d0 n/a 120 local function_initio 0x6bf4 n/a 120 global functionFLEXCOMM_SetPeriph 0xc3e0 n/a 116 local functionCASPER_ECC_equal 0x16e4 n/a 112 global function_Cwritebuf 0x6ca8 n/a 108 global functionhashcrypt_sha_one_block 0xc576 n/a 108 local functionPrintGetWidth 0x6f50 n/a 106 local functionDbgConsole_Vprintf 0x3e8 n/a 104 global functiontoMontgomery_ECC_P384 0x4cac n/a 104 local functionmbedtls_mpi_bitlen 0x8f30 n/a 104 global function_fdopen 0xcee2 n/a 104 global functionDbgConsole_PrintCallback 0x6ebe n/a 102 local functionmbedtls_mpi_lsb 0x8e88 n/a 102 global functionmpi_bigendian_to_host 0x9014 n/a 102 local functionResetISR 0x180 n/a 100 global functiontoMontgomery_ECC_P256 0x4820 n/a 100 local functionSystemInit 0x6868 n/a 100 weak functionHAL_UartSendBlocking 0x69dc n/a 100 global functionFLEXCOMM_PeripheralIsPresent 0xc37c n/a 100 local functionmbedtls_ecp_copy 0x7a48 n/a 98 global functiontoMontgomery_ECC_P521 0x4f7c n/a 96 local functionRESET_ClearPeripheralReset 0x63a4 n/a 96 global functionmbedtls_mpi_sub_mod 0x7b64 n/a 96 local functionSerialManager_Init 0xcb56 n/a 96 global functionSerialManager_OpenReadHandle 0xcc06 n/a 96 global functionreverse_array 0x8138 n/a 94 local functionHASHCRYPT_SHA 0xc6fe n/a 94 global functionFLEXCOMM0_DriverIRQHandler 0x5aa0 n/a 92 global functionFLEXCOMM1_DriverIRQHandler 0x5afc n/a 92 global functionFLEXCOMM2_DriverIRQHandler 0x5b58 n/a 92 global functionFLEXCOMM3_DriverIRQHandler 0x5bb4 n/a 92 global functionFLEXCOMM4_DriverIRQHandler 0x5c10 n/a 92 global functionFLEXCOMM5_DriverIRQHandler 0x5c6c n/a 92 global functionFLEXCOMM6_DriverIRQHandler 0x5cc8 n/a 92 global functionFLEXCOMM7_DriverIRQHandler 0x5d24 n/a 92 global functionFLEXCOMM8_DriverIRQHandler 0x5d80 n/a 92 global functionRESET_SetPeripheralReset 0x6348 n/a 92 global functionmbedtls_mpi_add_mod 0x7bc4 n/a 92 local functionmbedtls_mpi_lset 0x8dea n/a 92 global functionBOARD_BootClockFROHF96M 0x6a98 n/a 88 global functionmbedtls_mpi_shift_l_mod 0x7c20 n/a 88 local functionfclose 0xcf9c n/a 88 global functionmbedtls_mpi_resize_clear 0x8ca0 n/a 86 local functionDbgConsole_SendDataReliable 0x25c n/a 84 global functioncalculate_sha256 0x450 n/a 84 local functionmbedtls_ecp_set_zero 0x7aaa n/a 82 global function_fflush 0xcf4a n/a 82 global functionecp_add 0xe58 n/a 80 global functionFLEXCOMM_Init 0x5a50 n/a 80 global functionPOWER_SetVoltageForFreq 0x62f8 n/a 80 global functionHASHCRYPT_SHA_Init 0xc75c n/a 80 global functionSerialManager_OpenWriteHandle 0xcbb6 n/a 80 global functioncalloc 0xcdc6 n/a 80 global functionstrlen 0xce54 n/a 78 global functionFLEXCOMM_GetInstance 0x5a04 n/a 76 global functionmbedtls_mpi_free 0x8bd0 n/a 76 global functionCASPER_ECC_equal_to_zero 0x1754 n/a 72 global functionmpi_uint_bigendian_to_host_c 0x8fb4 n/a 72 local functionadd32 0x8264 n/a 70 local functionsub32 0x82aa n/a 70 local functionftell 0x6e48 n/a 68 global functionPrintOutputdifFobpu 0x70aa n/a 68 local functionPrintOutputxX 0x70ee n/a 68 local functionmbedtls_mpi_cmp_int 0x9676 n/a 68 global functionSerialManager_Write 0xcb12 n/a 68 local functionmbedtls_mpi_get_bit 0x8e46 n/a 66 global functionmbedtls_clz 0x8eee n/a 66 local functionPrintGetRadixFromobpu 0x71c8 n/a 64 local functionmbedtls_mpi_mul_mod 0x7b24 n/a 64 local function_deferredlazyseek 0xcea2 n/a 64 global function_do_fflush 0xd008 n/a 64 global functiontoc_verification_key 0xda84 n/a 64 local objectPrintFilterLengthFlag 0x718a n/a 62 local functionSerial_UartInit 0xcc86 n/a 62 global functionsetvbuf 0xce16 n/a 62 global functionBOARD_InitDEBUG_UARTPins 0x6af0 n/a 60 global function_sbrk 0x6c6c n/a 60 global functionfflush 0x6d14 n/a 60 global functionhashcrypt_sha_check_input_args 0xc53a n/a 60 local functionBOARD_InitDebugConsole 0x6a40 n/a 56 global functionPrintIsobpu 0x7046 n/a 56 local functionUSART_EnableContinuousSCLK 0xc9fa n/a 56 local functionSerialManager_StartWriting 0xcada n/a 56 local functionSerial_UartWrite 0xccc4 n/a 56 global functionHardFault_Handler 0x77f8 n/a 54 global functionHAL_UartInit 0xca62 n/a 54 global functionmbedtls_ecp_point_free 0x7932 n/a 52 global functionmbedtls_ecp_keypair_free_o 0x79fe n/a 52 global function__aeabi_lowlevel_memset 0xd1f2 n/a 50 global functionmbedtls_ecdsa_verify 0xc2e8 n/a 48 global functionCLOCK_EnableClock 0xc34c n/a 48 local functionfree 0xcd96 n/a 48 global functionmbedtls_ecp_get_type 0x782e n/a 46 global functionIOCON_PinMuxSet 0xcd46 n/a 46 local function__assertion_failed 0x230 n/a 44 global functionecp_mpi_set1 0x120c n/a 44 local functionDbgConsole_Printf 0x6f24 n/a 44 global functionPrintIsdi 0x707e n/a 44 local functionPrintIsfF 0x7132 n/a 44 local functionPrintIsxX 0x715e n/a 44 local functionmbedtls_ecp_point_init 0x785c n/a 44 global functionmbedtls_ecp_keypair_init 0x7906 n/a 44 global functionecp_mpi_load 0x8196 n/a 44 local functionhashcrypt_engine_init 0xc4e4 n/a 44 local functionhashcrypt_sha_check_input_alg 0xc510 n/a 42 local function__aeabi_memcpy4 0xd1c8 n/a 42 global function__aeabi_memcpy8 0xd1c8 n/a 42 global functionmbedtls_platform_zeroize 0x14b8 n/a 40 global functionmbedtls_ecp_is_zero 0x7afc n/a 40 global functionStrFormatExaminedi 0x72ca n/a 38 local functionStrFormatExaminexX 0x72f0 n/a 38 local functionStrFormatExamineobpu 0x7316 n/a 38 local functionmbedtls_mpi_init 0x8baa n/a 38 global functioncasper_get_word 0x24f0 n/a 36 local functionmbedtls_mpi_sub_mpi 0x9abe n/a 36 global functions_flexcommBaseAddrs 0xdbd8 n/a 36 local objects_flexcommResets 0xdc10 n/a 36 local objectmpi_sint_abs 0x8dc8 n/a 34 local functionmbedtls_mpi_add_mpi 0x9a9c n/a 34 global functionHAL_UartGetStatus 0xca40 n/a 34 local functionDisableGlobalIRQ 0xca98 n/a 34 local functionPOWER_DisablePD 0x56c8 n/a 32 local functionConvertPrecisionWidthToLength 0x733c n/a 32 local functionEnableGlobalIRQ 0xcaba n/a 32 local functionSerialManager_WriteBlocking 0xcc66 n/a 32 global functionsecp256r1_p 0xdac4 n/a 32 local objectsecp256r1_a 0xdae4 n/a 32 local objectsecp256r1_b 0xdb04 n/a 32 local objectsecp256r1_gx 0xdb24 n/a 32 local objectsecp256r1_gy 0xdb44 n/a 32 local objectsecp256r1_n 0xdb64 n/a 32 local objects_UsartAdapterBase 0xdc34 n/a 32 local objectdata_init 0x1e8 n/a 30 global functionmbedtls_mpi_zeroize 0x8b8c n/a 30 local functionmbedtls_ecdsa_free 0xc32e n/a 30 global functionmbedtls_mpi_size 0x8f98 n/a 28 global functionRESET_PeripheralReset 0xc9de n/a 28 global functionfsl_assert_hook 0x6ea4 n/a 26 weak function__check_heap_overflow 0x6e8c n/a 24 global functionmpi_uint_bigendian_to_host 0x8ffc n/a 24 local functionmbedtls_ecdsa_can_do 0xc2d0 n/a 24 global functionhashcrypt_save_running_hash 0xc6d0 n/a 24 local functionmbedtls_ecp_keypair_free 0x7a32 n/a 22 global functionmbedtls_ecdsa_init 0xc318 n/a 22 global functionhashcrypt_restore_running_hash 0xc6e8 n/a 22 local functionremove 0xcff4 n/a 20 global functionbss_init 0x206 n/a 18 global functions_flexcommClocks 0xdbfc n/a 18 local objectSystemInitHook 0xca32 n/a 14 weak functionBOARD_InitPeripherals 0xccfc n/a 14 global function__main 0xcd80 n/a 14 global functionBOARD_InitBootPeripherals 0xcd0a n/a 12 global functionBOARD_InitBootPins 0xcd74 n/a 12 global function__aeabi_memcpy 0xd1be n/a 10 global function As far as I know, the CASPER  can't perform ECDSA verification on its own - it seems to require mbedTLS as a wrapper, which brings in all the additional code. I've deactivated almost everything in the ksdk_mbedtls_config.h file. Questions Is there a way to use the CASPER hardware directly for ECDSA verification without the mbedTLS overhead? Are there any ROM-based cryptographic functions in the LPC55S28 that could handle ECDSA verification? Does anyone have a minimal implementation of ECDSA P-256 verification for the LPC55S28 that could fit within my 32KB constraint? Are there alternatives to mbedTLS with a smaller footprint? Re: Help with ECDSA Verification in LPC55S28 Bootloader (32KB Size Limit) This ticket was handled via email due to an issue with the community platform at that time.
查看全文
LPC55S28引导加载程序中的ECDSA验证帮助(32KB大小限制) NXP社区的各位朋友,大家好! 我正在为 LPC55S28 开发一个安全引导加载程序,但在实现 ECDSA 签名验证时遇到了严重的代码大小问题。 当前问题 我的引导加载程序需要验证 ECDSA P-256 签名,并且它必须能够容纳在 32KB 的闪存区域中。当使用 mbedTLS 进行 ECDSA 验证时(即使是仅启用 ECDSA 的最小配置),我的代码大小也会从大约 13KB 激增至 56KB: 剧透 (高亮部分可供阅读) 名称 运行地址 加载地址 大小 类型 。文本0x0 不适用 56412 节 mpi_mul_hlp 0x9ae2 不适用 6388 本地函数 ecp_mod_p256 0x839c 不适用 2032 本地函数 shiftleft 0x2bd0 不适用 1792 本地函数 MultprecCiosMul521_ct 0x4fdc 不适用 1772 本地函数 右移 0x2514 不适用 1724 本地函数 双标量乘法 0x3fb4 不适用 1580 全局函数 MultprecCiosMul_ct 0x1b4c 不适用 1444 本地函数 mbedtls_mpi_div_mpi 0xb69c 不适用 1316 全局函数 mbedtls_mpi_inv_mod 0xbdfa 不适用 1090 全局函数 precompute_double_scalar_LUT16 0x3aac n/a 1084 本地函数 invert_mod_p384 0x4884 不适用 1062 本地函数 ecp_double_jac 0x7d6c 不适用 972 本地函数 ecp_add_mixed 0xac8 不适用 912 本地函数 mbedtls_ecp_muladd_restartable 0xea8 不适用 868 全局函数 Jac_addition 0x33ec 不适用 776 全局函数 StrFormatPrintf 0x735c 不适用 700 全局函数 invert_mod_p521 0x4d14 不适用 616 本地函数 invert_mod_p256 0x45e0 不适用 576 本地函数 verify_ecdsa_signature 0x4a4 不适用 544 本地函数 Jac_add_affine 0x36f4 不适用 536 全局函数 ecdsa_verify_restartable 0x12c0 不适用 504 本地函数 USART_Init 0x6404 不适用 460 全局函数 mbedtls_mpi_gcd 0xbc4a 不适用 432 全局函数 CASPER_montadd 0x21f0 不适用 428 本地函数 hashcrypt_sha_process_message_data 0x5ddc 不适用 420 本地函数 Jac_double 0x390c 不适用 416 全局函数 USART_SetBaudRate 0x6650 不适用 396 全局函数 mbedtls_mpi_mul_mpi 0xb3d6 不适用 382 全局函数 CLOCK_SetFLASHAccessCyclesForFreq 0x5888 不适用 380 全局函数 __aeabi_uldivmod 0xd048 不适用 372 全局函数 mbedtls_mpi_add_abs 0x96ba 不适用 366 全局函数 read_and_verify_toc 0x6c4 不适用 364 本地函数 CASPER_ECC_SECP521R1_MulAdd 0x19f4 不适用 344 全局函数 CASPER_half 0x239c 不适用 340 本地函数 lowpower_set_system_voltage 0x6024 不适用 340 本地函数 mbedtls_mpi_shift_l 0x91bc 不适用 330 全局函数 mbedtls_mpi_sub_abs 0x98ba 不适用 326 全局函数 CASPER_ECC_SECP256R1_MulAdd 0x179c 不适用 324 全局函数 DbgConsole_Init 0x2b0 不适用 312 全局函数 mbedtls_mpi_shift_r 0x9306 不适用 310 全局函数 mbedtls_mpi_cmp_mpi 0x9540 不适用 310 全局函数 __Vectors 0x0 不适用 304 全局对象 g_pfnVectors 0x0 不适用 304 全局对象 CASPER_ECC_SECP384R1_MulAdd 0x18e0 不适用 276 全局函数 HAL_UartInitCommon 0x68cc 不适用 272 本地函数 mbedtls_mpi_cmp_abs 0x943c 不适用 260 全局函数 CASPER_montsub 0x20f0 不适用 256 本地函数 CASPER_MEMCPY 0x14e0 不适用 252 全局函数 fseek 0x6d50 不适用 248 全局函数 ecp_normalize_jac 0x7c78 不适用 244 本地函数 hashcrypt_sha_finalize 0xc5e2 不适用 238 本地函数 lowpower_set_dcdc_power_profile 0x6178 不适用 236 本地函数 mbedtls_mpi_copy 0x8cf6 不适用 210 全局函数 ecp_modp 0x9f8 不适用 208 本地函数 HASHCRYPT_SHA_Update 0xc7ac 不适用 208 全局函数 precompute_double_scalar_LUT4 0x3ee8 不适用 204 本地函数 mbedtls_ecp_point_read_binary 0x930 不适用 200 全局函数 malloc 0x6b2c n/a 200 全局函数 mbedtls_mpi_write_binary 0x90f4 不适用 200 全局函数 ConvertRadixNumToString 0x7208 不适用 194 本地函数 HASHCRYPT_SHA_Finish 0xc87c 不适用 184 全局函数 mbedtls_int_div_int 0xb5e8 不适用 180 本地函数 mbedtls_ecp_fix_negative 0x82f0 不适用 172 本地函数 lowpower_set_voltage_for_process 0xc934 不适用 170 本地函数 Jac_toAffine 0x3348 不适用 164 全局函数 HASHCRYPT_DriverIRQHandler 0x5f80 不适用 164 全局函数 ecp_group_load 0x81c2 不适用 162 本地函数 CLOCK_AttachClk 0x56e8 不适用 160 全局函数 add_sub_mpi 0x9a00 不适用 156 本地函数 mbedtls_ecp_group_free 0x7966 不适用 152 全局函数 lowpower_get_part_process_corner 0x6264 不适用 148 本地函数 mbedtls_mpi_mul_int 0xb554 不适用 148 全局函数 derive_mpi 0xc23c 不适用 148 本地函数 mpi_sub_hlp 0x9828 不适用 146 本地函数 casper_select 0x15dc 不适用 144 本地函数 hashcrypt_get_data 0xc454 不适用 144 本地函数 USART_WriteBlocking 0x67dc 不适用 140 全局函数 PrintGetPrecision 0x6fba 不适用 140 本地函数 mbedtls_mpi_mod_mpi 0xbbc0 不适用 138 全局函数 mbedtls_ecp_group_load 0x1238 不适用 136 全局函数 主 0x8ac 不适用 132 全局函数 mbedtls_mpi_grow 0x8c1c 不适用 132 全局函数 CLOCK_SetClkDiv 0x5788 不适用 128 全局函数 CLOCK_SetupFROClocking 0x5808 不适用 128 全局函数 USART_GetDefaultConfig 0x65d0 不适用 128 全局函数 mbedtls_ecp_group_init 0x7888 不适用 126 全局函数 jump_to_application 0x830 不适用 124 本地函数 mbedtls_mpi_read_binary 0x907a 不适用 122 全局函数 CASPER_ecc_init 0x166c 不适用 120 全局函数 multiply_casper 0x32d0 不适用 120 本地函数 _initio 0x6bf4 不适用 120 全局函数 FLEXCOMM_SetPeriph 0xc3e0 不适用 116 本地函数 CASPER_ECC_equal 0x16e4 不适用 112 全局函数 _Cwritebuf 0x6ca8 不适用 108 全局函数 hashcrypt_sha_one_block 0xc576 不适用 108 本地函数 PrintGetWidth 0x6f50 不适用 106 本地函数 DbgConsole_Vprintf 0x3e8 不适用 104 全局函数 toMontgomery_ECC_P384 0x4cac 不适用 104 本地函数 mbedtls_mpi_bitlen 0x8f30 不适用 104 全局函数 _fdopen 0xcee2 不适用 104 全局函数 DbgConsole_PrintCallback 0x6ebe 不适用 102 本地函数 mbedtls_mpi_lsb 0x8e88 不适用 102 全局函数 mpi_bigendian_to_host 0x9014 不适用 102 本地函数 ResetISR 0x180 n/a 100 全局函数 toMontgomery_ECC_P256 0x4820 不适用 100 本地函数 SystemInit 0x6868 不适用 100 弱函数 HAL_UartSendBlocking 0x69dc 不适用 100 全局函数 FLEXCOMM_PeripheralIsPresent 0xc37c 不适用 100 本地功能 mbedtls_ecp_copy 0x7a48 不适用 98 全局函数 toMontgomery_ECC_P521 0x4f7c 不适用 96 本地函数 RESET_ClearPeripheralReset 0x63a4 不适用 96 全局函数 mbedtls_mpi_sub_mod 0x7b64 不适用 96 本地函数 SerialManager_Init 0xcb56 不适用 96 全局函数 SerialManager_OpenReadHandle 0xcc06 不适用 96 全局函数 反向数组 0x8138 不适用 94 本地函数 HASHCRYPT_SHA 0xc6fe 不适用 94 全局函数 FLEXCOMM0_DriverIRQHandler 0x5aa0 不适用 92 全局函数 FLEXCOMM1_DriverIRQHandler 0x5afc 不适用 92 全局函数 FLEXCOMM2_DriverIRQHandler 0x5b58 不适用 92 全局函数 FLEXCOMM3_DriverIRQHandler 0x5bb4 不适用 92 全局函数 FLEXCOMM4_DriverIRQHandler 0x5c10 不适用 92 全局函数 FLEXCOMM5_DriverIRQHandler 0x5c6c 不适用 92 全局函数 FLEXCOMM6_DriverIRQHandler 0x5cc8 不适用 92 全局函数 FLEXCOMM7_DriverIRQHandler 0x5d24 不适用 92 全局函数 FLEXCOMM8_DriverIRQHandler 0x5d80 不适用 92 全局函数 RESET_SetPeripheralReset 0x6348 不适用 92 全局函数 mbedtls_mpi_add_mod 0x7bc4 不适用 92 本地函数 mbedtls_mpi_lset 0x8dea 不适用 92 全局函数 BOARD_BootClockFROHF96M 0x6a98 不适用 88 全局函数 mbedtls_mpi_shift_l_mod 0x7c20 不适用 88 本地函数 fclose 0xcf9c 不适用 88 全局函数 mbedtls_mpi_resize_clear 0x8ca0 不适用 86 本地函数 DbgConsole_SendDataReliable 0x25c 不适用 84 全局函数 calculate_sha256 0x450 不适用 84 本地函数 mbedtls_ecp_set_zero 0x7aaa 不适用 82 全局函数 _fflush 0xcf4a 不适用 82 全局函数 ecp_add 0xe58 不适用 80 全局函数 FLEXCOMM_Init 0x5a50 不适用 80 全局函数 POWER_SetVoltageForFreq 0x62f8 不适用 80 全局函数 HASHCRYPT_SHA_Init 0xc75c 不适用 80 全局函数 SerialManager_OpenWriteHandle 0xcbb6 不适用 80 全局函数 calloc 0xcdc6 不适用 80 全局函数 strlen 0xce54 不适用 78 全局函数 FLEXCOMM_GetInstance 0x5a04 不适用 76 全局函数 mbedtls_mpi_free 0x8bd0 不适用 76 全局函数 CASPER_ECC_equal_to_zero 0x1754 不适用 72 全局函数 mpi_uint_bigendian_to_host_c 0x8fb4 不适用 72 本地函数 add32 0x8264 不适用 70 本地函数 sub32 0x82aa 不适用 70 本地函数 ftell 0x6e48 不适用 68 全局函数 PrintOutputdifFobpu 0x70aa n/a 68 本地函数 PrintOutputxX 0x70ee 不适用 68 本地函数 mbedtls_mpi_cmp_int 0x9676 不适用 68 全局函数 SerialManager_Write 0xcb12 不适用 68 本地函数 mbedtls_mpi_get_bit 0x8e46 不适用 66 全局函数 mbedtls_clz 0x8eee 不适用 66 本地函数 PrintGetRadixFromobpu 0x71c8 不适用 64 本地函数 mbedtls_mpi_mul_mod 0x7b24 不适用 64 本地函数 _deferredlazyseek 0xcea2 不适用 64 全局函数 _do_fflush 0xd008 不适用 64 全局函数 toc_verification_key 0xda84 不适用 64 本地对象 PrintFilterLengthFlag 0x718a 不适用 62 本地函数 Serial_UartInit 0xcc86 不适用 62 全局函数 setvbuf 0xce16 不适用 62 全局函数 BOARD_InitDEBUG_UARTPins 0x6af0 不适用 60 全局函数 _sbrk 0x6c6c 不适用 60 全局函数 fflush 0x6d14 不适用 60 全局函数 hashcrypt_sha_check_input_args 0xc53a 不适用 60 本地函数 BOARD_InitDebugConsole 0x6a40 不适用 56 全局函数 PrintIsobpu 0x7046 不适用 56 本地函数 USART_EnableContinuousSCLK 0xc9fa 不适用 56 本地函数 SerialManager_StartWriting 0xcada n/a 56 本地函数 Serial_UartWrite 0xccc4 不适用 56 全局函数 HardFault_Handler 0x77f8 不适用 54 全局函数 HAL_UartInit 0xca62 不适用 54 全局函数 mbedtls_ecp_point_free 0x7932 不适用 52 全局函数 mbedtls_ecp_keypair_free_o 0x79fe 不适用 52 全局函数 __aeabi_lowlevel_memset 0xd1f2 不适用 50 全局函数 mbedtls_ecdsa_verify 0xc2e8 不适用 48 全局函数 CLOCK_EnableClock 0xc34c 不适用 48 本地函数 免费 0xcd96 不适用 48 全局函数 mbedtls_ecp_get_type 0x782e 不适用 46 全局函数 IOCON_PinMuxSet 0xcd46 不适用 46 本地函数 __assertion_failed 0x230 不适用 44 全局函数 />ecp_mpi_set1 0x120c 不适用 44 本地函数 DbgConsole_Printf 0x6f24 不适用 44 全局函数 PrintIsdi 0x707e 不适用 44 本地函数 PrintIsfF 0x7132 不适用 44 本地函数 PrintIsxX 0x715e 不适用 44 本地函数 mbedtls_ecp_point_init 0x785c 不适用 44 全局函数 mbedtls_ecp_keypair_init 0x7906 不适用 44 全局函数 ecp_mpi_load 0x8196 不适用 44 本地函数 hashcrypt_engine_init 0xc4e4 不适用 44 本地函数 hashcrypt_sha_check_input_alg 0xc510 不适用 42 本地函数 __aeabi_memcpy4 0xd1c8 不适用 42 全局函数 __aeabi_memcpy8 0xd1c8 不适用 42 全局函数 mbedtls_platform_zeroize 0x14b8 不适用 40 全局函数 mbedtls_ecp_is_zero 0x7afc 不适用 40 全局函数 StrFormatExaminedi 0x72ca 不适用 38 本地函数 StrFormatExaminexX 0x72f0 不适用 38 本地函数 StrFormatExamineobpu 0x7316 不适用 38 本地函数 mbedtls_mpi_init 0x8baa 不适用 38 全局函数 casper_get_word 0x24f0 不适用 36 本地函数 mbedtls_mpi_sub_mpi 0x9abe 不适用 36 全局函数 s_flexcommBaseAddrs 0xdbd8 不适用 36 本地对象 s_flexcommResets 0xdc10 不适用 36 本地对象 mpi_sint_abs 0x8dc8 不适用 34 本地函数 mbedtls_mpi_add_mpi 0x9a9c 不适用 34 全局函数 HAL_UartGetStatus 0xca40 不适用 34 本地函数 DisableGlobalIRQ 0xca98 不适用 34 本地函数 POWER_DisablePD 0x56c8 不适用 32 本地函数 ConvertPrecisionWidthToLength 0x733c 不适用 32 本地函数 启用全局中断 0xcaba 不适用 32 本地函数 SerialManager_WriteBlocking 0xcc66 不适用 32 全局函数 secp256r1_p 0xdac4 不适用 32 本地对象 secp256r1_a 0xdae4 不适用 32 本地对象 secp256r1_b 0xdb04 不适用 32 本地对象 secp256r1_gx 0xdb24 不适用 32 本地对象 secp256r1_gy 0xdb44 不适用 32 本地对象 secp256r1_n 0xdb64 不适用 32 本地对象 s_UsartAdapterBase 0xdc34 不适用 32 本地对象 data_init 0x1e8 不适用 30 全局函数 mbedtls_mpi_zeroize 0x8b8c 不适用 30 本地函数 mbedtls_ecdsa_free 0xc32e 不适用 30 全局函数 mbedtls_mpi_size 0x8f98 不适用 28 全局函数 RESET_PeripheralReset 0xc9de 不适用 28 全局函数 fsl_assert_hook 0x6ea4 不适用 26 弱函数 __check_heap_overflow 0x6e8c 不适用 24 全局函数 mpi_uint_bigendian_to_host 0x8ffc 不适用 24 本地函数 mbedtls_ecdsa_can_do 0xc2d0 不适用 24 全局函数 hashcrypt_save_running_hash 0xc6d0 不适用 24 本地函数 mbedtls_ecp_keypair_free 0x7a32 不适用 22 全局函数 mbedtls_ecdsa_init 0xc318 不适用 22 全局函数 hashcrypt_restore_running_hash 0xc6e8 不适用 22 本地函数 移除 0xcff4 不适用 20 全局函数 bss_init 0x206 不适用 18 全局函数 s_flexcommClocks 0xdbfc 不适用 18 本地对象 SystemInitHook 0xca32 不适用 14 弱函数 BOARD_InitPeripherals 0xccfc 不适用 14 全局函数 __main 0xcd80 不适用 14 全局函数 BOARD_InitBootPeripherals 0xcd0a 不适用 12 全局函数 BOARD_InitBootPins 0xcd74 不适用 12 全局函数 __aeabi_memcpy 0xd1be 不适用 10 全局函数 名称 运行地址 加载地址 大小 类型.text 0x0 不适用 56412 sectionmpi_mul_hlp 0x9ae2 不适用 6388 本地函数ecp_mod_p256 0x839c 不适用 2032 本地函数shiftleft 0x2bd0 不适用 1792 本地函数MultprecCiosMul521_ct 0x4fdc 不适用 1772 本地函数shiftright 0x2514 不适用 1724 本地函数double_scalar_multiplication 0x3fb4 不适用 1580 全局函数MultprecCiosMul_ct 0x1b4c 不适用 1444 本地函数mbedtls_mpi_div_mpi 0xb69c 不适用 1316 全局函数mbedtls_mpi_inv_mod 0xbdfa n/a 1090 全局函数 precompute_double_scalar_LUT16 0x3aac n/a 1084 局部函数 invert_mod_p384 0x4884 n/a 1062 局部函数 ecp_double_jac 0x7d6c n/a 972 局部函数 ecp_add_mixed 0xac8 n/a 912 局部函数 mbedtls_ecp_muladd_restartable 0xea8 n/a 868 全局函数 Jac_addition 0x33ec n/a 776 全局函数 StrFormatPrintf 0x735c n/a 700 全局函数 invert_mod_p521 0x4d14 n/a 616 局部函数 invert_mod_p256 0x45e0 n/a 576 本地函数verify_ecdsa_signature 0x4a4 不适用 544 本地函数Jac_add_affine 0x36f4 不适用 536 全局函数ecdsa_verify_restartable 0x12c0 不适用 504 本地函数USART_Init 0x6404 不适用 460 全局函数mbedtls_mpi_gcd 0xbc4a 不适用 432 全局函数CASPER_montadd 0x21f0 不适用 428 本地函数hashcrypt_sha_process_message_data 0x5ddc 不适用 420 本地函数Jac_double 0x390c 不适用 416 全局函数USART_SetBaudRate 0x6650 不适用 396 全局函数mbedtls_mpi_mul_mpi 0xb3d6 不适用 382 全局函数 CLOCK_SetFLASHAccessCyclesForFreq 0x5888 不适用 380 全局函数 __aeabi_uldivmod 0xd048 不适用 372 全局函数 mbedtls_mpi_add_abs 0x96ba 不适用 366 全局函数 read_and_verify_toc 0x6c4 不适用 364 局部函数 CASPER_ECC_SECP521R1_MulAdd 0x19f4 不适用 344 全局函数 CASPER_half 0x239c 不适用 340 局部函数 lowpower_set_system_voltage 0x6024 不适用 340 局部函数 mbedtls_mpi_shift_l 0x91bc 不适用 330 全局函数 mbedtls_mpi_sub_abs 0x98ba 不适用 326 全局函数 CASPER_ECC_SECP256R1_MulAdd 0x179c 不适用 324 全局函数 DbgConsole_Init 0x2b0 不适用 312 全局函数 mbedtls_mpi_shift_r 0x9306 不适用 310 全局函数 mbedtls_mpi_cmp_mpi 0x9540 不适用 310 全局函数 __Vectors 0x0 不适用 304 全局对象 g_pfnVectors 0x0 不适用 304 全局对象 CASPER_ECC_SECP384R1_MulAdd 0x18e0 不适用 276 全局函数 HAL_UartInitCommon 0x68cc 不适用 272 局部函数 mbedtls_mpi_cmp_abs 0x943c 不适用 260 全局函数 CASPER_montsub 0x20f0 不适用 256 局部函数 CASPER_MEMCPY 0x14e0 不适用 252 全局函数 fseek 0x6d50 不适用 248 全局函数 ecp_normalize_jac 0x7c78 不适用 244 局部函数 hashcrypt_sha_finalize 0xc5e2 不适用 238 局部函数 lowpower_set_dcdc_power_profile 0x6178 不适用 236 局部函数 mbedtls_mpi_copy 0x8cf6 不适用 210 全局函数 ecp_modp 0x9f8 不适用 208 局部函数 HASHCRYPT_SHA_Update 0xc7ac 不适用 208 全局functionprecompute_double_scalar_LUT4 0x3ee8 n/a 204 local functionmbedtls_ecp_point_read_binary 0x930 n/a 200 global functionmalloc 0x6b2c n/a 200 global functionmbedtls_mpi_write_binary 0x90f4 n/a 200 global functionConvertRadixNumToString 0x7208 n/a 194 local functionHASHCRYPT_SHA_Finish 0xc87c n/a 184 global functionmbedtls_int_div_int 0xb5e8 n/a 180 local functionmbedtls_ecp_fix_negative 0x82f0 n/a 172 local functionlowpower_set_voltage_for_process 0xc934 n/a 170 local functionJac_toAffine 0x3348 n/a 164 global functionHASHCRYPT_DriverIRQHandler 0x5f80 n/a 164 global functionecp_group_load 0x81c2 n/a 162 local functionCLOCK_AttachClk 0x56e8 n/a 160 global functionadd_sub_mpi 0x9a00 n/a 156 local functionmbedtls_ecp_group_free 0x7966 n/a 152 global functionlowpower_get_part_process_corner 0x6264 n/a 148 local functionmbedtls_mpi_mul_int 0xb554 n/a 148 global functionderive_mpi 0xc23c n/a 148 local functionmpi_sub_hlp 0x9828 n/a 146 本地函数 casper_select 0x15dc n/a 144 本地函数 hashcrypt_get_data 0xc454 n/a 144 本地函数 USART_WriteBlocking 0x67dc n/a 140 全局函数 PrintGetPrecision 0x6fba n/a 140 本地函数 mbedtls_mpi_mod_mpi 0xbbc0 n/a 138 全局函数 mbedtls_ecp_group_load 0x1238 n/a 136 全局函数 main 0x8ac n/a 132 全局函数 mbedtls_mpi_grow 0x8c1c n/a 132 全局函数 CLOCK_SetClkDiv 0x5788 n/a 128 全局函数 CLOCK_SetupFROClocking 0x5808 n/a 128 全局functionUSART_GetDefaultConfig 0x65d0 n/a 128 global functionmbedtls_ecp_group_init 0x7888 n/a 126 global functionjump_to_application 0x830 n/a 124 local functionmbedtls_mpi_read_binary 0x907a n/a 122 global functionCASPER_ecc_init 0x166c n/a 120 global functionmultiply_casper 0x32d0 n/a 120 local function_initio 0x6bf4 n/a 120 global functionFLEXCOMM_SetPeriph 0xc3e0 n/a 116 local functionCASPER_ECC_equal 0x16e4 n/a 112 global function_Cwritebuf 0x6ca8 n/a 108 global functionhashcrypt_sha_one_block 0xc576 n/a 108 local functionPrintGetWidth 0x6f50 n/a 106 local functionDbgConsole_Vprintf 0x3e8 n/a 104 global functiontoMontgomery_ECC_P384 0x4cac n/a 104 local functionmbedtls_mpi_bitlen 0x8f30 n/a 104 global function_fdopen 0xcee2 n/a 104 global functionDbgConsole_PrintCallback 0x6ebe n/a 102 local functionmbedtls_mpi_lsb 0x8e88 n/a 102 global functionmpi_bigendian_to_host 0x9014 n/a 102 local functionResetISR 0x180 n/a 100 global functiontoMontgomery_ECC_P256 0x4820 n/a 100 local functionSystemInit 0x6868 n/a 100 weak functionHAL_UartSendBlocking 0x69dc n/a 100 global functionFLEXCOMM_PeripheralIsPresent 0xc37c n/a 100 local functionmbedtls_ecp_copy 0x7a48 n/a 98 global functiontoMontgomery_ECC_P521 0x4f7c n/a 96 local functionRESET_ClearPeripheralReset 0x63a4 n/a 96 global functionmbedtls_mpi_sub_mod 0x7b64 n/a 96 local functionSerialManager_Init 0xcb56 n/a 96 global functionSerialManager_OpenReadHandle 0xcc06 n/a 96 global functionreverse_array 0x8138 n/a 94 local functionHASHCRYPT_SHA 0xc6fe n/a 94 global functionFLEXCOMM0_DriverIRQHandler 0x5aa0 n/a 92 global functionFLEXCOMM1_DriverIRQHandler 0x5afc n/a 92 global functionFLEXCOMM2_DriverIRQHandler 0x5b58 n/a 92 global functionFLEXCOMM3_DriverIRQHandler 0x5bb4 n/a 92 global functionFLEXCOMM4_DriverIRQHandler 0x5c10 n/a 92 global functionFLEXCOMM5_DriverIRQHandler 0x5c6c n/a 92 global functionFLEXCOMM6_DriverIRQHandler 0x5cc8 n/a 92 global functionFLEXCOMM7_DriverIRQHandler 0x5d24 n/a 92 global functionFLEXCOMM8_DriverIRQHandler 0x5d80 n/a 92 global functionRESET_SetPeripheralReset 0x6348 n/a 92 global functionmbedtls_mpi_add_mod 0x7bc4 n/a 92 local functionmbedtls_mpi_lset 0x8dea n/a 92 global functionBOARD_BootClockFROHF96M 0x6a98 n/a 88 global functionmbedtls_mpi_shift_l_mod 0x7c20 n/a 88 local functionfclose 0xcf9c 不适用 88 全局函数 mbedtls_mpi_resize_clear 0x8ca0 不适用 86 局部函数 DbgConsole_SendDataReliable 0x25c 不适用 84 全局函数 calculate_sha256 0x450 不适用 84 局部函数 mbedtls_ecp_set_zero 0x7aaa 不适用 82 全局函数 fflush 0xcf4a 不适用 82 全局函数 ecp_add 0xe58 不适用 80 全局函数 FLEXCOMM_Init 0x5a50 不适用 80 全局函数 POWER_SetVoltageForFreq 0x62f8 不适用 80 全局函数 HASHCRYPT_SHA_Init 0xc75c 不适用 80 全局函数 SerialManager_OpenWriteHandle 0xcbb6 n/a 80 全局函数 calloc 0xcdc6 n/a 80 全局函数 strlen 0xce54 n/a 78 全局函数 FLEXCOMM_GetInstance 0x5a04 n/a 76 全局函数 mbedtls_mpi_free 0x8bd0 n/a 76 全局函数 CASPER_ECC_equal_to_zero 0x1754 n/a 72 全局函数 mpi_uint_bigendian_to_host_c 0x8fb4 n/a 72 局部函数 add32 0x8264 n/a 70 局部函数 sub32 0x82aa n/a 70 局部函数 ftell 0x6e48 n/a 68 全局函数 PrintOutputdifFobpu 0x70aa n/a 68 局部函数 PrintOutputxX 0x70ee n/a 68 本地函数mbedtls_mpi_cmp_int 0x9676 不适用 68 全局函数SerialManager_Write 0xcb12 不适用 68 本地函数mbedtls_mpi_get_bit 0x8e46 不适用 66 全局函数mbedtls_clz 0x8eee 不适用 66 本地函数PrintGetRadixFromobpu 0x71c8不适用 64 本地函数mbedtls_mpi_mul_mod 0x7b24 不适用 64 本地 function_deferredlazyseek 0xcea2 不适用 64 全局 function_do_fflush 0xd008 不适用 64 全局函数toc_verification_key 0xda84 不适用 64 本地 objectPrintFilterLengthFlag 0x718a 不适用 62 本地functionSerial_UartInit 0xcc86 n/a 62 global functionssetvbuf 0xce16 n/a 62 global functionBOARD_InitDEBUG_UARTPins 0x6af0 n/a 60 global function_sbrk 0x6c6c n/a 60 global functionfflush 0x6d14 n/a 60 global functionhashcrypt_sha_check_input_args 0xc53a n/a 60 local functionBOARD_InitDebugConsole 0x6a40 n/a 56 global functionPrintIsobpu 0x7046 n/a 56 local functionUSART_EnableContinuousSCLK 0xc9fa n/a 56 local functionSerialManager_StartWriting 0xcada n/a 56 local functionSerial_UartWrite 0xccc4 n/a 56 global functionHardFault_Handler 0x77f8 n/a 54 global functionHAL_UartInit 0xca62 n/a 54 global functionmbedtls_ecp_point_free 0x7932 n/a 52 global functionmbedtls_ecp_keypair_free_o 0x79fe n/a 52 global function__aeabi_lowlevel_memset 0xd1f2 n/a 50 global functionmbedtls_ecdsa_verify 0xc2e8 n/a 48 global functionCLOCK_EnableClock 0xc34c n/a 48 local functionfree 0xcd96 n/a 48 global functionmbedtls_ecp_get_type 0x782e n/a 46 global functionIOCON_PinMuxSet 0xcd46 n/a 46 local function__assertion_failed 0x230 n/a 44 global functionecp_mpi_set1 0x120c n/a 44 local functionDbgConsole_Printf 0x6f24 n/a 44 global functionPrintIsdi 0x707e n/a 44 local functionPrintIsfF 0x7132 n/a 44 local functionPrintIsxX 0x715e n/a 44 local functionmbedtls_ecp_point_init 0x785c n/a 44 global functionmbedtls_ecp_keypair_init 0x7906 n/a 44 global functionecp_mpi_load 0x8196 n/a 44 local functionhashcrypt_engine_init 0xc4e4 n/a 44 local functionhashcrypt_sha_check_input_alg 0xc510 n/a 42 local function__aeabi_memcpy4 0xd1c8 n/a 42 global function__aeabi_memcpy8 0xd1c8 n/a 42 global functionmbedtls_platform_zeroize 0x14b8 n/a 40 global functionmbedtls_ecp_is_zero 0x7afc n/a 40 global functionStrFormatExaminedi 0x72ca n/a 38 local functionStrFormatExaminexX 0x72f0 n/a 38 local functionStrFormatExamineobpu 0x7316 n/a 38 local functionmbedtls_mpi_init 0x8baa n/a 38 global functioncasper_get_word 0x24f0 n/a 36 local functionmbedtls_mpi_sub_mpi 0x9abe 不适用 36 全局 functions_flexcommBaseAddrs 0xdbd8 不适用 36 局部 objects_flexcommResets 0xdc10 不适用 36 局部 objectmpi_sint_abs 0x8dc8 不适用 34 局部 functionmbedtls_mpi_add_mpi 0x9a9c n/a 34 global functionHAL_UartGetStatus 0xca40 n/a 34 local functionDisableGlobalIRQ 0xca98 n/a 34 local functionPOWER_DisablePD 0x56c8 n/a 32 local functionConvertPrecisionWidthToLength 0x733c n/a 32 local functionEnableGlobalIRQ 0xcaba n/a 32 local functionSerialManager_WriteBlocking 0xcc66 n/a 32 global functionsecp256r1_p 0xdac4 n/a 32 local objectsecp256r1_a 0xdae4 n/a 32 local objectsecp256r1_b 0xdb04 n/a 32 local objectsecp256r1_gx 0xdb24 n/a 32 本地对象secp256r1_gy 0xdb44 n/a 32 本地对象secp256r1_n 0xdb64 n/a 32 本地对象_UsartAdapterBase 0xdc34 n/a 32 本地对象data_init 0x1e8 n/a 30 全局函数mbedtls_mpi_zeroize 0x8b8c n/a 30 本地函数mbedtls_ecdsa_free 0xc32e n/a 30 全局函数mbedtls_mpi_size 0x8f98 n/a 28 全局函数RESET_PeripheralReset 0xc9de n/a 28 全局函数fsl_assert_hook 0x6ea4 n/a 26 弱函数__check_heap_overflow 0x6e8c n/a 24 全局functionmpi_uint_bigendian_to_host 0x8ffc n/a 24 local functionmbedtls_ecdsa_can_do 0xc2d0 n/a 24 global functionhashcrypt_save_running_hash 0xc6d0 n/a 24 local functionmbedtls_ecp_keypair_free 0x7a32 n/a 22 global functionmbedtls_ecdsa_init 0xc318 n/a 22 global functionhashcrypt_restore_running_hash 0xc6e8 n/a 22 local functionremove 0xcff4 n/a 20 global functionbss_init 0x206 n/a 18 global functions_flexcommClocks 0xdbfc n/a 18 local objectSystemInitHook 0xca32 n/a 14 weak functionBOARD_InitPeripherals 0xccfc n/a 14 global function__main 0xcd80 n/a 14 global functionBOARD_InitBootPeripherals 0xcd0a n/a 12 global functionBOARD_InitBootPins 0xcd74 n/a 12 global function__aeabi_memcpy 0xd1be n/a 10 global function 据我所知,CASPER 本身无法执行 ECDSA 验证——它似乎需要 mbedTLS 作为包装器,而 mbedTLS 会引入所有额外的代码。 我已经停用了 ksdk_mbedtls_config.h 文件中的几乎所有内容。 问题 是否有办法直接使用 CASPER 硬件进行 ECDSA 验证,而无需 mbedTLS 开销? LPC55S28 中是否有任何基于 ROM 的加密功能可以处理 ECDSA 验证? 有没有人能提供一个符合我 32KB 限制的 LPC55S28 的 ECDSA P-256 验证的最小实现版本? 是否有比 mbedTLS 占用空间更小的替代方案? Re: Help with ECDSA Verification in LPC55S28 Bootloader (32KB Size Limit) 由于当时社区平台出现问题,此工单是通过电子邮件处理的。
查看全文
SJA1110 Qbv AdminBaseTime 配置 尊敬的恩智浦半导体成员们: 我一直在研究 S32G-VNP-RDB3 板上的 SJA1110 交换机的配置,以启用 TSN 功能,例如 PTP 和 Qbv。 我正在使用 S32 Design Studio 的 SJA1110 SDK 来配置交换机,生成更新的 sja1110_uc.bin 文件,并将其部署到 S32G 板上。 虽然我已经能够理解和测试大多数 Qbv 参数的配置,但我无法掌握 QBV 管理参数表中 ADMINBASETIME[31:0] 和 ADMINBASETIME[63:32] 的正确配置。 根据文档um549820-UM11107《SJA1110(2.0)软件用户手册》中的说明,ADMINBASETIME 的解释如下: 定义用于基准时间的管理值,以 PTP/free 表示。 运行时间尺度,用于在计算时间点时作为参考 重新配置的门周期开始(CycleStartTime)。 但它并没有提供任何关于如何在实际项目中计算该值的线索。此外,SJA1110扩展配置演示文稿中的 SJA1110 Qbv 示例使用了 0(此参数直接开始)。 我们来看一个例子。 Qbv 配置在 SJA1110 交换机的端口 3 上,速度为 1000Mbps,粒度为 200ns。 一个周期包含 500 微秒和三个阶段: 在第一阶段,除 TC7 外,所有交通类别均开放。持续时间为 100 μs(TRIGGER_TIME = 500); 在第二段路段,只有交通等级 7 开放,其他交通等级均关闭。持续时间为 300 μs(TRIGGER_TIME = 1500); 在第三部分,除 TC7 外,所有交通类别均开放。持续时间为 100 μs(TRIGGER_TIME = 500)。 但在同一网络中,还有另一台 TSN 交换机配置了 500 μs 的 Qbv 周期,但段间隔不同。 如何计算 ADMINBASETIME 以便在 TSN 交换机之间进行同步,并确保其与 gPTP 时间戳一致? 非常感谢您的支持! Re: SJA1110 Qbv AdminBaseTime Configuration 你好@GuilhermeS32G , 是的,理想情况下,ADMINBASETIME 配置应该在运行时以编程方式设置,以确保所有交换机上的 Qbv 同步。 我建议构建 SJA1110 静态配置时,将 ADMINBASETIME 设置为 0。 ADMINBASETIME 应在 gPTP 同步建立后于运行时动态编程。在这种情况下,主机应用程序、TSN 管理堆栈、CNC 或其他自定义配置软件将读取当前同步时间,选择一个具有足够裕量的未来基准时间,写入 Qbv 管理参数(通过动态重新配置),并触发配置更改。 我不建议每次启动时都重置 gPTP 时间,仅仅为了让固定的 ADMINBASETIME 有效。 顺祝商祺! 帕维尔 Re: SJA1110 Qbv AdminBaseTime Configuration 你好@PavelL , 再次感谢您的支持。 因此,根据我的理解,理想情况下,ADMINBASETIME 配置应该在运行时以编程方式设置,以确保 Qbv 计划在未来执行。 就我而言,由于 SJA1110 交换机是在 SDL 启动 模式下启动的,所以我使用 SJA1110 SDK for S32DS 来对其固件进行编程。在这种情况下,我需要在 QBV 管理参数表中设置 ADMINBASETIME;然后构建新的固件文件;将其部署到 S32G-VNP-RDB3 板;重启板以使新配置生效。 第一次 ADMINBASETIME 会设置在未来,但如果我在后续运行中不更新固件,它就总是需要调整活动启动时间,正如您所提到的那样。 在这种情况下,直接将 ADMINBASETIME 设置为 0 岂不是更好?否则,最好在每次启动时重置 gPTP 时间。 顺祝商祺! 吉列尔梅 Re: SJA1110 Qbv AdminBaseTime Configuration 你好@GuilhermeS32G , ADMINBASETIME 应理解为 Qbv 进度表的绝对时间参考/阶段参考。它用于将重复的 Qbv 周期的开始与同步时间功能域对齐。它不是根据端口速度计算的,也不是基于 TRIGGER_TIME 粒度计算的。 在多交换机 TSN 系统中,gPTP / IEEE 802.1AS 提供通用同步时基,但它不会自动配置 Qbv 调度。Qbv 配置(包括 ADMINBASETIME)必须由 TSN 管理堆栈/CNC 或在主机处理器上运行的特定应用/自定义软件进行编程。IEEE 802.1Qcc 描述了集中式 TSN 配置模型,其中 CNC 计算 TSN 配置并将其分发到网络设备。 https://www.ieee802.org/1/files/public/docs2017/cc-Kehrer-StartOfCycleReference-0117-v01.pdf 典型的操作流程可能如下: 1. 启动 gPTP / 802.1AS,并等待所有相关的 TSN 设备同步完成。 2. 从设备/PTP 时域读取当前同步时间。 3. 选择未来的基准时间:ADMINBASETIME = 当前 gPTP 时间 + 安全裕度 功能安全裕度应该足够大,以便在达到选定的基准时间之前将配置写入所有交换机/端口。 4. 对所有必须共享同一 Qbv 循环阶段的交换机/端口设置相同的 ADMINBASETIME 和相同的循环时间。 5. 根据要求的计划对每个端口的 GCL 条目进行编程。 如果需要与 gPTP 时间戳对齐,也可以将选定的基准时间与周期边界对齐,例如: ADMINBASETIME = ceil((current_gPTP_time + safety_margin) / cycle_time) * cycle_time 这与 Linux taprio 使用的总体思路相同:基准时间定义了计划何时开始;如果基准时间已经过去,则通过添加整数个周期时间来得出活动开始时间,直到得到的开始时间在未来。 https://www.cisco.com/c/en/us/td/docs/switches/lan/cisco_ie4000/tsn/b_tsn_ios_support/b_tsn_ios_support_chapter_01.html https://deepwiki.com/nxp-qoriq/tsntool/5.2-device-configuration 对于 SJA1110,最终的 ADMINBASETIME 值必须按照 SJA1110 Qbv 配置所需的时间格式进行编码,然后拆分为: ADMINBASETIME[31:0] = 低 32 位 ADMINBASETIME[63:32] = 高 32 位 综上所述:gPTP 提供通用时间;另一个软件/配置层必须根据该时间选择和编程 Qbv ADMINBASETIME。这可以通过 TSN 管理堆栈/CNC 实现,也可以通过更简单的嵌入式系统中的自定义应用程序代码实现。 顺祝商祺! 帕维尔
查看全文
ISP模式的PIN配置 您好, LPC55S1x/LPC551x 数据表中写道: 功能 # 0 PIO1_2 — 通用数字输入/输出引脚。 备注:在ISP模式下,此引脚设置为高速。 SPI SCK 功能(Flexcomm 8)。 这是否意味着需要将功能号设置为 0 才能使此引脚用作高速引脚 ISP模式下的SPI SCK功能是什么?如果可以,如何设置ISP模式下的功能号?我可以为 ISP 模式和非 ISP 模式设置不同的功能号吗? 此致, 温斯顿 LPC55xx Re: PIN configuration for ISP mode 你好@yangao 我已经在另一个客户案例中回答过这个问题了。如果您还有任何疑问,请随时与我们联系。 BR 爱丽丝
查看全文
LPC55S28ブートローダーにおけるECDSA検証に関するヘルプ(サイズ制限32KB) こんにちは、NXPコミュニティの皆さん、 LPC55S28用のセキュアブートローダーを開発しているのですが、ECDSA署名検証を実装する際に、コードサイズがかなり大きくなるという問題に直面しました。 最新号 私のブートローダーはECDSA P-256署名を検証する必要があり、32KBのフラッシュメモリ領域内に収まる必要があります。mbedTLSを使用してECDSA検証を行う場合(ECDSAのみを有効にする最小限の設定でも)、コードサイズが約13KBから56KBに急増します。 ネタバレ (ハイライトして読む) 名前 実行アドレス ロードアドレス サイズ タイプ 。文章0x0 該当なし 56412 セクション mpi_mul_hlp 0x9ae2 n/a 6388 ローカル関数 ecp_mod_p256 0x839c n/a 2032 ローカル関数 左シフト 0x2bd0 n/a 1792 ローカル関数 MultprecCiosMul521_ct 0x4fdc n/a 1772 ローカル関数 shiftright 0x2514 n/a 1724 ローカル関数 倍精度スカラー乗算 0x3fb4 該当なし 1580 グローバル関数 MultprecCiosMul_ct 0x1b4c n/a 1444 ローカル関数 mbedtls_mpi_div_mpi 0xb69c 該当なし 1316 グローバル関数 mbedtls_mpi_inv_mod 0xbdfa n/a 1090 グローバル関数 precompute_double_scalar_LUT16 0x3aac n/a 1084 ローカル関数 invert_mod_p384 0x4884 n/a 1062 ローカル関数 ecp_double_jac 0x7d6c n/a 972 ローカル関数 ecp_add_mixed 0xac8 n/a 912 ローカル関数 mbedtls_ecp_muladd_restartable 0xea8 n/a 868 グローバル関数 Jac_addition 0x33ec n/a 776 グローバル関数 StrFormatPrintf 0x735c n/a 700 グローバル関数 invert_mod_p521 0x4d14 n/a 616 ローカル関数 invert_mod_p256 0x45e0 n/a 576 ローカル関数 verify_ecdsa_signature 0x4a4 n/a 544 ローカル関数 Jac_add_affine 0x36f4 n/a 536 グローバル関数 ecdsa_verify_restartable 0x12c0 n/a 504 ローカル関数 USART_Init 0x6404 n/a 460 グローバル関数 mbedtls_mpi_gcd 0xbc4a n/a 432 グローバル関数 CASPER_montadd 0x21f0 n/a 428 ローカル関数 hashcrypt_sha_process_message_data 0x5ddc n/a 420 ローカル関数 Jac_double 0x390c n/a 416 グローバル関数 USART_SetBaudRate 0x6650 n/a 396 グローバル関数 mbedtls_mpi_mul_mpi 0xb3d6 n/a 382 グローバル関数 CLOCK_SetFLASHAccessCyclesForFreq 0x5888 n/a 380 グローバル関数 __aeabi_uldivmod 0xd048 n/a 372 グローバル関数 mbedtls_mpi_add_abs 0x96ba n/a 366 グローバル関数 read_and_verify_toc 0x6c4 n/a 364 ローカル関数 CASPER_ECC_SECP521R1_MulAdd 0x19f4 n/a 344 グローバル関数 CASPER_half 0x239c n/a 340 ローカル関数 lowpower_set_system_voltage 0x6024 n/a 340 ローカル関数 mbedtls_mpi_shift_l 0x91bc n/a 330 グローバル関数 mbedtls_mpi_sub_abs 0x98ba n/a 326 グローバル関数 CASPER_ECC_SECP256R1_MulAdd 0x179c n/a 324 グローバル関数 DbgConsole_Init 0x2b0 n/a 312 グローバル関数 mbedtls_mpi_shift_r 0x9306 n/a 310 グローバル関数 mbedtls_mpi_cmp_mpi 0x9540 n/a 310 グローバル関数 __ベクトル 0x0 n/a 304 グローバルオブジェクト g_pfnVectors 0x0 n/a 304 グローバルオブジェクト CASPER_ECC_SECP384R1_MulAdd 0x18e0 n/a 276 グローバル関数 HAL_UartInitCommon 0x68cc n/a 272 ローカル関数 mbedtls_mpi_cmp_abs 0x943c n/a 260 グローバル関数 CASPER_montsub 0x20f0 n/a 256 ローカル関数 CASPER_MEMCPY 0x14e0 n/a 252 グローバル関数 fseek 0x6d50 n/a 248 グローバル関数 ecp_normalize_jac 0x7c78 n/a 244 ローカル関数 hashcrypt_sha_finalize 0xc5e2 n/a 238 ローカル関数 lowpower_set_dcdc_power_profile 0x6178 n/a 236 ローカル関数 mbedtls_mpi_copy 0x8cf6 n/a 210 グローバル関数 ecp_modp 0x9f8 n/a 208 ローカル関数 HASHCRYPT_SHA_Update 0xc7ac n/a 208 グローバル関数 precompute_double_scalar_LUT4 0x3ee8 n/a 204 ローカル関数 mbedtls_ecp_point_read_binary 0x930 n/a 200 グローバル関数 malloc 0x6b2c n/a 200 グローバル関数 mbedtls_mpi_write_binary 0x90f4 n/a 200 グローバル関数 ConvertRadixNumToString 0x7208 n/a 194 ローカル関数 HASHCRYPT_SHA_Finish 0xc87c n/a 184 グローバル関数 mbedtls_int_div_int 0xb5e8 n/a 180 ローカル関数 mbedtls_ecp_fix_negative 0x82f0 n/a 172 ローカル関数 lowpower_set_voltage_for_process 0xc934 n/a 170 ローカル関数 Jac_toAffine 0x3348 n/a 164 グローバル関数 HASHCRYPT_DriverIRQHandler 0x5f80 n/a 164 グローバル関数 ecp_group_load 0x81c2 n/a 162 ローカル関数 CLOCK_AttachClk 0x56e8 n/a 160 グローバル関数 add_sub_mpi 0x9a00 n/a 156 ローカル関数 mbedtls_ecp_group_free 0x7966 n/a 152 グローバル関数 lowpower_get_part_process_corner 0x6264 n/a 148 ローカル関数 mbedtls_mpi_mul_int 0xb554 n/a 148 グローバル関数 derive_mpi 0xc23c n/a 148 ローカル関数 mpi_sub_hlp 0x9828 n/a 146 ローカル関数 casper_select 0x15dc n/a 144 ローカル関数 hashcrypt_get_data 0xc454 n/a 144 ローカル関数 USART_WriteBlocking 0x67dc n/a 140 グローバル関数 PrintGetPrecision 0x6fba n/a 140 ローカル関数 mbedtls_mpi_mod_mpi 0xbbc0 n/a 138 グローバル関数 mbedtls_ecp_group_load 0x1238 n/a 136 グローバル関数 メイン 0x8ac n/a 132 グローバル関数 mbedtls_mpi_grow 0x8c1c n/a 132 グローバル関数 CLOCK_SetClkDiv 0x5788 n/a 128 グローバル関数 CLOCK_SetupFROClocking 0x5808 n/a 128 グローバル関数 USART_GetDefaultConfig 0x65d0 n/a 128 グローバル関数 mbedtls_ecp_group_init 0x7888 n/a 126 グローバル関数 jump_to_application 0x830 n/a 124 ローカル関数 mbedtls_mpi_read_binary 0x907a n/a 122 グローバル関数 CASPER_ecc_init 0x166c n/a 120 グローバル関数 multiply_casper 0x32d0 n/a 120 ローカル関数 _initio 0x6bf4 n/a 120 グローバル関数 FLEXCOMM_SetPeriph 0xc3e0 n/a 116 ローカル関数 CASPER_ECC_equal 0x16e4 n/a 112 グローバル関数 _Cwritebuf 0x6ca8 n/a 108 グローバル関数 hashcrypt_sha_one_block 0xc576 n/a 108 ローカル関数 PrintGetWidth 0x6f50 n/a 106 ローカル関数 DbgConsole_Vprintf 0x3e8 n/a 104 グローバル関数 toMontgomery_ECC_P384 0x4cac n/a 104 ローカル関数 mbedtls_mpi_bitlen 0x8f30 n/a 104 グローバル関数 _fdopen 0xcee2 n/a 104 グローバル関数 DbgConsole_PrintCallback 0x6ebe n/a 102 ローカル関数 mbedtls_mpi_lsb 0x8e88 n/a 102 グローバル関数 mpi_bigendian_to_host 0x9014 n/a 102 ローカル関数 ResetISR 0x180 n/a 100 グローバル関数 toMontgomery_ECC_P256 0x4820 n/a 100 ローカル関数 SystemInit 0x6868 n/a 100 弱い関数 HAL_UartSendBlocking 0x69dc n/a 100 グローバル関数 FLEXCOMM_PeripheralIsPresent 0xc37c n/a 100 ローカル関数 mbedtls_ecp_copy 0x7a48 n/a 98 グローバル関数 toMontgomery_ECC_P521 0x4f7c n/a 96 ローカル関数 RESET_ClearPeripheralReset 0x63a4 n/a 96 グローバル関数 mbedtls_mpi_sub_mod 0x7b64 n/a 96 ローカル関数 SerialManager_Init 0xcb56 n/a 96 グローバル関数 SerialManager_OpenReadHandle 0xcc06 n/a 96 グローバル関数 reverse_array 0x8138 n/a 94 ローカル関数 HASHCRYPT_SHA 0xc6fe n/a 94 グローバル関数 FLEXCOMM0_DriverIRQHandler 0x5aa0 n/a 92 グローバル関数 FLEXCOMM1_DriverIRQHandler 0x5afc n/a 92 グローバル関数 FLEXCOMM2_DriverIRQHandler 0x5b58 n/a 92 グローバル関数 FLEXCOMM3_DriverIRQHandler 0x5bb4 n/a 92 グローバル関数 FLEXCOMM4_DriverIRQHandler 0x5c10 n/a 92 グローバル関数 FLEXCOMM5_DriverIRQHandler 0x5c6c n/a 92 グローバル関数 FLEXCOMM6_DriverIRQHandler 0x5cc8 n/a 92 グローバル関数 FLEXCOMM7_DriverIRQHandler 0x5d24 n/a 92 グローバル関数 FLEXCOMM8_DriverIRQHandler 0x5d80 n/a 92 グローバル関数 RESET_SetPeripheralReset 0x6348 n/a 92 グローバル関数 mbedtls_mpi_add_mod 0x7bc4 n/a 92 ローカル関数 mbedtls_mpi_lset 0x8dea n/a 92 グローバル関数 BOARD_BootClockFROHF96M 0x6a98 n/a 88 グローバル関数 mbedtls_mpi_shift_l_mod 0x7c20 n/a 88 ローカル関数 fclose 0xcf9c n/a 88 グローバル関数 mbedtls_mpi_resize_clear 0x8ca0 n/a 86 ローカル関数 DbgConsole_SendDataReliable 0x25c n/a 84 グローバル関数 calculate_sha256 0x450 n/a 84 ローカル関数 mbedtls_ecp_set_zero 0x7aaa n/a 82 グローバル関数 _fflush 0xcf4a n/a 82 グローバル関数 ecp_add 0xe58 n/a 80 グローバル関数 FLEXCOMM_Init 0x5a50 n/a 80 グローバル関数 POWER_SetVoltageForFreq 0x62f8 n/a 80 グローバル関数 HASHCRYPT_SHA_Init 0xc75c n/a 80 グローバル関数 SerialManager_OpenWriteHandle 0xcbb6 n/a 80 グローバル関数 calloc 0xcdc6 n/a 80 グローバル関数 strlen 0xce54 n/a 78 グローバル関数 FLEXCOMM_GetInstance 0x5a04 n/a 76 グローバル関数 mbedtls_mpi_free 0x8bd0 n/a 76 グローバル関数 CASPER_ECC_equal_to_zero 0x1754 n/a 72 グローバル関数 mpi_uint_bigendian_to_host_c 0x8fb4 n/a 72 ローカル関数 add32 0x8264 n/a 70 ローカル関数 sub32 0x82aa n/a 70 ローカル関数 ftell 0x6e48 n/a 68 グローバル関数 PrintOutputdifFobpu 0x70aa n/a 68 ローカル関数 PrintOutputxX 0x70ee n/a 68 ローカル関数 mbedtls_mpi_cmp_int 0x9676 n/a 68 グローバル関数 SerialManager_Write 0xcb12 n/a 68 ローカル関数 mbedtls_mpi_get_bit 0x8e46 n/a 66 グローバル関数 mbedtls_clz 0x8eee n/a 66 ローカル関数 PrintGetRadixFromobpu 0x71c8 n/a 64 ローカル関数 mbedtls_mpi_mul_mod 0x7b24 n/a 64 ローカル関数 _deferredlazyseek 0xcea2 n/a 64 グローバル関数 _do_fflush 0xd008 n/a 64 グローバル関数 toc_verification_key 0xda84 n/a 64 ローカルオブジェクト PrintFilterLengthFlag 0x718a n/a 62 ローカル関数 Serial_UartInit 0xcc86 n/a 62 グローバル関数 setvbuf 0xce16 n/a 62 グローバル関数 BOARD_InitDEBUG_UARTPins 0x6af0 n/a 60 グローバル関数 _sbrk 0x6c6c n/a 60 グローバル関数 fflush 0x6d14 n/a 60 グローバル関数 hashcrypt_sha_check_input_args 0xc53a n/a 60 ローカル関数 BOARD_InitDebugConsole 0x6a40 n/a 56 グローバル関数 PrintIsobpu 0x7046 n/a 56 ローカル関数 USART_EnableContinuousSCLK 0xc9fa n/a 56 ローカル関数 SerialManager_StartWriting 0xcada n/a 56 ローカル関数 Serial_UartWrite 0xccc4 n/a 56 グローバル関数 HardFault_Handler 0x77f8 n/a 54 グローバル関数 HAL_UartInit 0xca62 n/a 54 グローバル関数 mbedtls_ecp_point_free 0x7932 n/a 52 グローバル関数 mbedtls_ecp_keypair_free_o 0x79fe n/a 52 グローバル関数 __aeabi_lowlevel_memset 0xd1f2 n/a 50 グローバル関数 mbedtls_ecdsa_verify 0xc2e8 n/a 48 グローバル関数 CLOCK_EnableClock 0xc34c n/a 48 ローカル関数 空き 0xcd96 n/a 48 グローバル関数 mbedtls_ecp_get_type 0x782e n/a 46 グローバル関数 IOCON_PinMuxSet 0xcd46 n/a 46 ローカル関数 __assertion_failed 0x230 n/a 44 グローバル関数 />ecp_mpi_set1 0x120c n/a 44 ローカル関数 DbgConsole_Printf 0x6f24 n/a 44 グローバル関数 PrintIsdi 0x707e n/a 44 ローカル関数 PrintIsfF 0x7132 n/a 44 ローカル関数 PrintIsxX 0x715e n/a 44 ローカル関数 mbedtls_ecp_point_init 0x785c n/a 44 グローバル関数 mbedtls_ecp_keypair_init 0x7906 n/a 44 グローバル関数 ecp_mpi_load 0x8196 n/a 44 ローカル関数 hashcrypt_engine_init 0xc4e4 n/a 44 ローカル関数 hashcrypt_sha_check_input_alg 0xc510 n/a 42 ローカル関数 __aeabi_memcpy4 0xd1c8 n/a 42 グローバル関数 __aeabi_memcpy8 0xd1c8 n/a 42 グローバル関数 mbedtls_platform_zeroize 0x14b8 n/a 40 グローバル関数 mbedtls_ecp_is_zero 0x7afc n/a 40 グローバル関数 StrFormatExaminedi 0x72ca n/a 38 ローカル関数 StrFormatExaminexX 0x72f0 n/a 38 ローカル関数 StrFormatExamineobpu 0x7316 n/a 38 ローカル関数 mbedtls_mpi_init 0x8baa n/a 38 グローバル関数 casper_get_word 0x24f0 n/a 36 ローカル関数 mbedtls_mpi_sub_mpi 0x9abe n/a 36 グローバル関数 s_flexcommBaseAddrs 0xdbd8 n/a 36 ローカルオブジェクト s_flexcommResets 0xdc10 n/a 36 ローカルオブジェクト mpi_sint_abs 0x8dc8 n/a 34 ローカル関数 mbedtls_mpi_add_mpi 0x9a9c n/a 34 グローバル関数 HAL_UartGetStatus 0xca40 n/a 34 ローカル関数 DisableGlobalIRQ 0xca98 n/a 34 ローカル関数 POWER_DisablePD 0x56c8 n/a 32 ローカル関数 ConvertPrecisionWidthToLength 0x733c n/a 32 ローカル関数 EnableGlobalIRQ 0xcaba n/a 32 ローカル関数 SerialManager_WriteBlocking 0xcc66 n/a 32 グローバル関数 secp256r1_p 0xdac4 n/a 32 ローカルオブジェクト secp256r1_a 0xdae4 n/a 32 ローカルオブジェクト secp256r1_b 0xdb04 n/a 32 ローカルオブジェクト secp256r1_gx 0xdb24 n/a 32 ローカルオブジェクト secp256r1_gy 0xdb44 n/a 32 ローカルオブジェクト secp256r1_n 0xdb64 n/a 32 ローカルオブジェクト s_UsartAdapterBase 0xdc34 n/a 32 ローカルオブジェクト data_init 0x1e8 n/a 30 グローバル関数 mbedtls_mpi_zeroize 0x8b8c n/a 30 ローカル関数 mbedtls_ecdsa_free 0xc32e n/a 30 グローバル関数 mbedtls_mpi_size 0x8f98 n/a 28 グローバル関数 RESET_周辺機器リセット 0xc9de n/a 28 グローバル関数 fsl_assert_hook 0x6ea4 n/a 26 弱い関数 __check_heap_overflow 0x6e8c n/a 24 グローバル関数 mpi_uint_bigendian_to_host 0x8ffc n/a 24 ローカル関数 mbedtls_ecdsa_can_do 0xc2d0 n/a 24 グローバル関数 hashcrypt_save_running_hash 0xc6d0 n/a 24 ローカル関数 mbedtls_ecp_keypair_free 0x7a32 n/a 22 グローバル関数 mbedtls_ecdsa_init 0xc318 n/a 22 グローバル関数 hashcrypt_restore_running_hash 0xc6e8 n/a 22 ローカル関数 0xcff4 を削除 n/a 20 グローバル関数 bss_init 0x206 n/a 18 グローバル関数 s_flexcommClocks 0xdbfc n/a 18 ローカルオブジェクト SystemInitHook 0xca32 n/a 14 弱い関数 BOARD_InitPeripherals 0xccfc n/a 14 グローバル関数 __main 0xcd80 n/a 14 グローバル関数 BOARD_InitBootPeripherals 0xcd0a n/a 12 グローバル関数 BOARD_InitBootPins 0xcd74 n/a 12 グローバル関数 __aeabi_memcpy 0xd1be n/a 10 グローバル関数 名前 実行アドレス ロードアドレス サイズ Type.text 0x0 n/a 56412 sectionmpi_mul_hlp 0x9ae2 n/a 6388 local functionecp_mod_p256 0x839c n/a 2032 local functionshiftleft 0x2bd0 n/a 1792 local functionMultprecCiosMul521_ct 0x4fdc n/a 1772 local functionshiftright 0x2514 n/a 1724 local functiondouble_scalar_multiplication 0x3fb4 n/a 1580 global functionMultprecCiosMul_ct 0x1b4c n/a 1444 local functionmbedtls_mpi_div_mpi 0xb69c n/a 1316 global functionmbedtls_mpi_inv_mod 0xbdfa n/a 1090 グローバル関数 precompute_double_scalar_LUT16 0x3aac n/a 1084 ローカル関数 invert_mod_p384 0x4884 n/a 1062 ローカル関数 ecp_double_jac 0x7d6c n/a 972 ローカル関数 ecp_add_mixed 0xac8 n/a 912 ローカル関数 mbedtls_ecp_muladd_restartable 0xea8 n/a 868 グローバル関数 Jac_addition 0x33ec n/a 776 グローバル関数 StrFormatPrintf 0x735c n/a 700 グローバル関数 invert_mod_p521 0x4d14 n/a 616 ローカル関数 invert_mod_p256 0x45e0 n/a 576 ローカル関数 verify_ecdsa_signature 0x4a4 n/a 544 ローカル関数Jac_add_affine 0x36f4 該当なし 536 グローバル関数ecdsa_verify_restartable 0x12c0 該当なし 504 ローカル関数USART_Init 0x6404 該当なし 460 グローバル関数mbedtls_mpi_gcd 0xbc4a 該当なし 432 グローバル関数CASPER_montadd 0x21f0 該当なし428 ローカル関数hashcrypt_sha_process_message_data 0x5ddc 該当なし 420 ローカル関数Jac_double 0x390c 該当なし 416 グローバル関数USART_SetBaudRate 0x6650 該当なし 396 グローバル関数mbedtls_mpi_mul_mpi 0xb3d6 該当なし 382 グローバルfunctionCLOCK_SetFLASHAccessCyclesForFreq 0x5888 n/a 380 グローバル関数__aeabi_uldivmod 0xd048 n/a 372 グローバル関数mbedtls_mpi_add_abs 0x96ba n/a 366 グローバル関数read_and_verify_toc 0x6c4 n/a 364 ローカル関数CASPER_ECC_SECP521R1_MulAdd 0x19f4 n/a 344 グローバル関数CASPER_half 0x239c n/a 340 ローカル関数lowpower_set_system_voltage 0x6024 n/a 340 ローカル関数mbedtls_mpi_shift_l 0x91bc n/a 330 グローバル関数mbedtls_mpi_sub_abs 0x98ba n/a 326 グローバル関数CASPER_ECC_SECP256R1_MulAdd 0x179c n/a 324 グローバルfunctionDbgConsole_Init 0x2b0 該当なし 312 グローバル関数mbedtls_mpi_shift_r 0x9306 該当なし 310 グローバル関数mbedtls_mpi_cmp_mpi 0x9540 該当なし 310 グローバル関数__Vectors 0x0 該当なし 304 グローバル objectg_pfnVectors 0x0 該当なし 304グローバル オブジェクトCASPER_ECC_SECP384R1_MulAdd 0x18e0 該当なし 276 グローバル関数HAL_UartInitCommon 0x68cc 該当なし 272 ローカル関数mbedtls_mpi_cmp_abs 0x943c 該当なし 260 グローバル関数CASPER_montsub 0x20f0 該当なし 256 ローカル関数CASPER_MEMCPY 0x14e0 該当なし252 グローバル関数 fseek 0x6d50 n/a 248 グローバル関数 ecp_normalize_jac 0x7c78 n/a 244 ローカル関数 hashcrypt_sha_finalize 0xc5e2 n/a 238 ローカル関数 lowpower_set_dcdc_power_profile 0x6178 n/a 236 ローカル関数 mbedtls_mpi_copy 0x8cf6 n/a 210 グローバル関数 ecp_modp 0x9f8 n/a 208 ローカル関数 HASHCRYPT_SHA_Update 0xc7ac n/a 208 グローバル関数 precompute_double_scalar_LUT4 0x3ee8 n/a 204 ローカル関数 mbedtls_ecp_point_read_binary 0x930 n/a 200 グローバル関数 malloc 0x6b2c n/a 200 グローバルfunctionmbedtls_mpi_write_binary 0x90f4 n/a 200 グローバル関数ConvertRadixNumToString 0x7208 n/a 194 ローカル関数HASHCRYPT_SHA_Finish 0xc87c n/a 184 グローバル関数mbedtls_int_div_int 0xb5e8 n/a 180 ローカル関数mbedtls_ecp_fix_negative 0x82f0 n/a 172 ローカル関数lowpower_set_voltage_for_process 0xc934 n/a 170 ローカル関数Jac_toAffine 0x3348 n/a 164 グローバル関数HASHCRYPT_DriverIRQHandler 0x5f80 n/a 164 グローバル関数ecp_group_load 0x81c2 n/a 162 ローカル関数CLOCK_AttachClk 0x56e8 n/a 160 グローバル関数 add_sub_mpi 0x9a00 n/a 156 ローカル関数 mbedtls_ecp_group_free 0x7966 n/a 152 グローバル関数 lowpower_get_part_process_corner 0x6264 n/a 148 ローカル関数 mbedtls_mpi_mul_int 0xb554 n/a 148 グローバル関数 derive_mpi 0xc23c n/a 148 ローカル関数 mpi_sub_hlp 0x9828 n/a 146 ローカル関数 casper_select 0x15dc n/a 144 ローカル関数 hashcrypt_get_data 0xc454 n/a 144 ローカル関数 USART_WriteBlocking 0x67dc n/a 140 グローバル関数 PrintGetPrecision 0x6fba n/a 140 ローカル関数 mbedtls_mpi_mod_mpi 0xbbc0 n/a 138 グローバル関数 mbedtls_ecp_group_load 0x1238 n/a 136 グローバル関数 main 0x8ac n/a 132 グローバル関数 mbedtls_mpi_grow 0x8c1c n/a 132 グローバル関数 CLOCK_SetClkDiv 0x5788 n/a 128 グローバル関数 CLOCK_SetupFROClocking 0x5808 n/a 128 グローバル関数 USART_GetDefaultConfig 0x65d0 n/a 128 グローバル関数 mbedtls_ecp_group_init 0x7888 n/a 126 グローバル関数 jump_to_application 0x830 n/a 124 ローカル関数 mbedtls_mpi_read_binary 0x907a n/a 122 グローバル関数 CASPER_ecc_init 0x166c n/a 120 グローバル関数 multiply_casper 0x32d0 n/a 120 ローカル関数_initio 0x6bf4 n/a 120 グローバル関数 FLEXCOMM_SetPeriph 0xc3e0 n/a 116 ローカル関数 CASPER_ECC_equal 0x16e4 n/a 112 グローバル関数_Cwritebuf 0x6ca8 n/a 108 グローバル関数 hashcrypt_sha_one_block 0xc576 n/a 108 ローカル関数 PrintGetWidth 0x6f50 n/a 106 ローカル関数 DbgConsole_Vprintf 0x3e8 n/a 104 グローバル関数 toMontgomery_ECC_P384 0x4cac n/a 104 ローカルfunctionmbedtls_mpi_bitlen 0x8f30 n/a 104 グローバル function_fdopen 0xcee2 n/a 104 グローバル functionDbgConsole_PrintCallback 0x6ebe n/a 102 ローカル functionmbedtls_mpi_lsb 0x8e88 n/a 102 グローバル functionmpi_bigendian_to_host 0x9014 n/a 102 ローカル functionResetISR 0x180 n/a 100 グローバル functiontoMontgomery_ECC_P256 0x4820 n/a 100 ローカル functionSystemInit 0x6868 n/a 100 弱関数HAL_UartSendBlocking 0x69dc n/a 100 グローバル functionFLEXCOMM_PeripheralIsPresent 0xc37c n/a 100 ローカル functionmbedtls_ecp_copy 0x7a48 n/a 98 グローバル functiontoMontgomery_ECC_P521 0x4f7c n/a 96 ローカル functionRESET_ClearPeripheralReset 0x63a4 n/a 96 グローバル functionmbedtls_mpi_sub_mod 0x7b64 n/a 96 ローカル関数 SerialManager_Init 0xcb56 n/a 96 グローバル関数 SerialManager_OpenReadHandle 0xcc06 n/a 96 グローバル関数 reverse_array 0x8138 n/a 94 ローカル関数 HASHCRYPT_SHA 0xc6fe n/a 94 グローバル関数 FLEXCOMM0_DriverIRQHandler 0x5aa0 n/a 92 グローバル関数 FLEXCOMM1_DriverIRQHandler 0x5afc n/a 92 グローバル関数 FLEXCOMM2_DriverIRQHandler 0x5b58 n/a 92 グローバル関数 FLEXCOMM3_DriverIRQHandler 0x5bb4 n/a 92 グローバル関数 FLEXCOMM4_DriverIRQHandler 0x5c10 n/a 92 グローバル関数 FLEXCOMM5_DriverIRQHandler 0x5c6c n/a 92 グローバル関数 FLEXCOMM6_DriverIRQHandler 0x5cc8 n/a 92 グローバル関数 FLEXCOMM7_DriverIRQHandler 0x5d24 n/a 92 グローバル関数 FLEXCOMM8_DriverIRQHandler 0x5d80 n/a 92 グローバル関数 RESET_SetPeripheralReset 0x6348 n/a 92 グローバル関数 mbedtls_mpi_add_mod 0x7bc4 n/a 92 ローカル関数 mbedtls_mpi_lset 0x8dea n/a 92 グローバル関数 BOARD_BootClockFROHF96M 0x6a98 n/a 88 グローバル関数 mbedtls_mpi_shift_l_mod 0x7c20 n/a 88 ローカル関数 fclose 0xcf9c n/a 88 グローバルfunctionmbedtls_mpi_resize_clear 0x8ca0 n/a 86 ローカル関数DbgConsole_SendDataReliable 0x25c n/a 84 グローバル関数calculate_sha256 0x450 n/a 84 ローカル関数mbedtls_ecp_set_zero 0x7aaa n/a 82 グローバル関数_fflush 0xcf4a n/a 82 グローバル関数ecp_add 0xe58 n/a 80 グローバル関数FLEXCOMM_Init 0x5a50 n/a 80 グローバル関数POWER_SetVoltageForFreq 0x62f8 n/a 80 グローバル関数HASHCRYPT_SHA_Init 0xc75c n/a 80 グローバル関数SerialManager_OpenWriteHandle 0xcbb6 n/a 80 グローバル関数calloc 0xcdc6 n/a 80 グローバル関数 strlen 0xce54 n/a 78 グローバル関数 FLEXCOMM_GetInstance 0x5a04 n/a 76 グローバル関数 mbedtls_mpi_free 0x8bd0 n/a 76 グローバル関数 CASPER_ECC_equal_to_zero 0x1754 n/a 72 グローバル関数 mpi_uint_bigendian_to_host_c 0x8fb4 n/a 72 ローカル関数 add32 0x8264 n/a 70 ローカル関数 sub32 0x82aa n/a 70 ローカル関数 ftell 0x6e48 n/a 68 グローバル関数 PrintOutputdifFobpu 0x70aa n/a 68 ローカル関数 PrintOutputxX 0x70ee n/a 68 ローカル関数 mbedtls_mpi_cmp_int 0x9676 n/a 68 グローバルfunctionSerialManager_Write 0xcb12 n/a 68 ローカル関数 mbedtls_mpi_get_bit 0x8e46 n/a 66 グローバル関数 mbedtls_clz 0x8eee n/a 66 ローカル関数 PrintGetRadixFromobpu 0x71c8 n/a 64 ローカル関数 mbedtls_mpi_mul_mod 0x7b24 n/a 64 ローカル関数_deferredlazyseek 0xcea2 n/a 64 グローバル関数_do_fflush 0xd008 n/a 64 グローバル関数 toc_verification_key 0xda84 n/a 64 ローカルオブジェクト PrintFilterLengthFlag 0x718a n/a 62 ローカル関数 Serial_UartInit 0xcc86 n/a 62 グローバル関数 setvbuf 0xce16 n/a 62 グローバルfunctionBOARD_InitDEBUG_UARTPins 0x6af0 n/a 60 global function_sbrk 0x6c6c n/a 60 global functionfflush 0x6d14 n/a 60 global functionhashcrypt_sha_check_input_args 0xc53a n/a 60 local functionBOARD_InitDebugConsole 0x6a40 n/a 56 global functionPrintIsobpu 0x7046 n/a 56 local functionUSART_EnableContinuousSCLK 0xc9fa n/a 56 local functionSerialManager_StartWriting 0xcada n/a 56 local functionSerial_UartWrite 0xccc4 n/a 56 global functionHardFault_Handler 0x77f8 n/a 54 global functionHAL_UartInit 0xca62 n/a 54 global functionmbedtls_ecp_point_free 0x7932 n/a 52 グローバル関数 mbedtls_ecp_keypair_free_o 0x79fe n/a 52 グローバル関数 __aeabi_lowlevel_memset 0xd1f2 n/a 50 グローバル関数 mbedtls_ecdsa_verify 0xc2e8 n/a 48 グローバル関数 CLOCK_EnableClock 0xc34c n/a 48 ローカル関数 free 0xcd96 n/a 48 グローバル関数 mbedtls_ecp_get_type 0x782e n/a 46 グローバル関数 IOCON_PinMuxSet 0xcd46 n/a 46 ローカル関数 __assertion_failed 0x230 n/a 44 グローバル関数 ecp_mpi_set1 0x120c n/a 44 ローカル関数 DbgConsole_Printf 0x6f24 n/a 44 グローバル関数 PrintIsdi 0x707e n/a 44 ローカル関数 PrintIsfF 0x7132 n/a 44 ローカル関数 PrintIsxX 0x715e n/a 44 ローカル関数 mbedtls_ecp_point_init 0x785c n/a 44 グローバル関数 mbedtls_ecp_keypair_init 0x7906 n/a 44 グローバル関数 ecp_mpi_load 0x8196 n/a 44 ローカル関数 hashcrypt_engine_init 0xc4e4 n/a 44 ローカル関数 hashcrypt_sha_check_input_alg 0xc510 n/a 42 ローカル関数 __aeabi_memcpy4 0xd1c8 n/a 42 グローバル関数 __aeabi_memcpy8 0xd1c8 n/a 42 グローバル関数 mbedtls_platform_zeroize 0x14b8 n/a 40 グローバル関数 mbedtls_ecp_is_zero 0x7afc n/a 40 グローバル関数 StrFormatExaminedi 0x72ca n/a 38 ローカル関数 StrFormatExaminexX 0x72f0 n/a 38 ローカル関数 StrFormatExamineobpu 0x7316 n/a 38 ローカル関数 mbedtls_mpi_init 0x8baa n/a 38 グローバル関数 casper_get_word 0x24f0 n/a 36 ローカル関数 mbedtls_mpi_sub_mpi 0x9abe n/a 36 グローバル関数 flexcommBaseAddrs 0xdbd8 n/a 36 ローカルオブジェクト flexcommResets 0xdc10 n/a 36 ローカルオブジェクト mpi_sint_abs 0x8dc8 n/a 34 ローカル functionmbedtls_mpi_add_mpi 0x9a9c n/a 34 グローバル関数HAL_UartGetStatus 0xca40 n/a 34 ローカル関数DisableGlobalIRQ 0xca98 n/a 34 ローカル関数POWER_DisablePD 0x56c8 n/a 32 ローカル関数ConvertPrecisionWidthToLength 0x733c n/a 32 ローカル関数EnableGlobalIRQ 0xcaba n/a 32 ローカル関数SerialManager_WriteBlocking 0xcc66 n/a 32 グローバル関数secp256r1_p 0xdac4 n/a 32 ローカルオブジェクトsecp256r1_a 0xdae4 n/a 32 ローカルオブジェクトsecp256r1_b 0xdb04 n/a 32 ローカルオブジェクトsecp256r1_gx 0xdb24 n/a 32 ローカル objectsecp256r1_gy 0xdb44 n/a 32 ローカル objectsecp256r1_n 0xdb64 n/a 32 ローカル objects_UsartAdapterBase 0xdc34 n/a 32 ローカル objectdata_init 0x1e8 n/a 30 グローバル functionmbedtls_mpi_zeroize 0x8b8c n/a 30 ローカル functionmbedtls_ecdsa_free 0xc32e n/a 30 グローバル functionmbedtls_mpi_size 0x8f98 n/a 28 グローバル functionRESET_PeripheralReset 0xc9de n/a 28 グローバル functionfsl_assert_hook 0x6ea4 n/a 26 弱関数__check_heap_overflow 0x6e8c n/a 24 グローバルfunctionmpi_uint_bigendian_to_host 0x8ffc n/a 24 ローカル関数 mbedtls_ecdsa_can_do 0xc2d0 n/a 24 グローバル関数 hashcrypt_save_running_hash 0xc6d0 n/a 24 ローカル関数 mbedtls_ecp_keypair_free 0x7a32 n/a 22 グローバル関数 mbedtls_ecdsa_init 0xc318 n/a 22 グローバル関数 hashcrypt_restore_running_hash 0xc6e8 n/a 22 ローカル関数 remove 0xcff4 n/a 20 グローバル関数 bss_init 0x206 n/a 18 グローバル関数 functions_flexcommClocks 0xdbfc n/a 18 ローカルオブジェクト SystemInitHook 0xca32 n/a 14 弱い関数 BOARD_InitPeripherals 0xccfc n/a 14 グローバル関数__main 0xcd80 n/a 14 グローバル関数BOARD_InitBootPeripherals 0xcd0a n/a 12 グローバル関数BOARD_InitBootPins 0xcd74 n/a 12 グローバル関数__aeabi_memcpy 0xd1be n/a 10 グローバル関数 私の知る限り、CASPERは単独でECDSA検証を行うことはできません。mbedTLSをラッパーとして使う必要があり、それがすべての追加コードを取り込むためです。 ksdk_mbedtls_config.h ファイル内のほとんどすべての設定を無効化しました。 質問 mbedTLSのオーバーヘッドなしに、CASPERハードウェアを直接ECDSA検証に使用する方法はありますか? LPC55S28にECDSA検証を扱えるROMベースの暗号機能はありますか? 32KBの制約内に収まるECDSA P-256検証の最小限の実装をLPC55S28にご存知の方はいらっしゃいますか? mbedTLSよりもフットプリントの小さい代替手段はありますか? Re: Help with ECDSA Verification in LPC55S28 Bootloader (32KB Size Limit) このチケットは当時のコミュニティプラットフォームの問題によりメールで処理されました。
查看全文
如何在停止并重新启动附件中的 CAN 分析仪后发送多个 CAN 消息 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> RHinnen 嗨, RHinnen 您能否抽出宝贵时间帮我解决以下问题:如何修改附件中的模型,使其能够发送多个 CAN 消息,并在 CAN 分析仪停止并重新启动后无需 RESET MCU 即可持续发送 CAN 消息?MPC574xP 示例项目-通信中提供的示例 -CAN1(Flexcan 交通)不存在此问题。 到目前为止,即使我在模型中添加了另一个 CAN 消息(不同的 ID),CAN 分析器也只发送了一个 ID 的 CAN 消息。CAN分析仪在停止和启动后将停止发送CAN消息。 期待您的解答,非常感谢! 示例模型 Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached 你好, 我也在寻找解决同样问题的方法。 如果您解决了无需重启MCU即可发送CAN信号的问题。请分享一下您的方法,这对我的项目很有帮助。 谢谢你, 拉胡尔 Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好sparkee , 是的,很遗憾,如果您想使用同一个 MB 空间进行多次传输,您必须执行以下操作之一: - 要么使用阻塞模式(这可能会稍微降低应用程序的速度) - 可以使用非阻塞模式,但要确保在同一 MB 上进行的第二次传输只有在第一次传输完成后才会进行。否则,第一次转账会被第二次转账阻止,因此无法完成。 第二种选择取决于你如何编写应用程序,因为你必须自己管理时间——尽管如此,它的优势在于应用程序运行速度会稍快一些(取决于你通过时间管理增加的开销)。 第一种选择很简单(阻塞处理一切),但你必须决定在你的应用程序中,阻塞传输所花费的那一点额外时间是否是你能接受的。 最佳方案是拥有足够的可用空间(以 MB 为单位),以便可以使用非阻塞模式,每次传输都有自己的 MB 空间。 希望这样能解释清楚一些。 此致敬礼, 拉兹万。 Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 这个问题是11月份提出的……现在有进展吗? 我发现的问题是,我没有为每条消息设置不同的消息缓冲区。我之前没意识到需要设置每条消息加载到特定的缓冲区中。 Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我仍然不知道正确的做法应该是什么。你能给我举个正确的例子吗? 谢谢。 Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> paulvlase ‌, 请查阅并调查可能的解决方案。谢谢你! 丹尼尔
查看全文
Camera bring-up with imx95 Hi All, I am using the imx95 SVS setup imx95[SOC] + MX95MBDES01[MAX96724] ===> {mx95mbcam[0x03C10+MAX96717F]+mx95mbcam[0x03C10+MAX96717F]+mx95mbcam[0x03C10+MAX96717F]+custom_cam[0x03H10+MAX96717]} So basically, the entire setup is the same as SVS, but just changed the cam3 with a custom camera module [0x03H10+MAX96717]. I am making driver modifications but am facing an issue with the GMSL link lock. My custom camera module runs with this configuration: I2C Address: 0x84;Xtal Configuration Coax-Pixel Mode,6Gbps I can only see cam0-3: root@imx95-19x19-lpddr5-evk:~# i2cdetect -l i2c-1 i2c 44350000.i2c I2C adapter i2c-2 i2c 42530000.i2c I2C adapter i2c-3 i2c 42540000.i2c I2C adapter i2c-4 i2c 426b0000.i2c I2C adapter i2c-5 i2c 426c0000.i2c I2C adapter i2c-6 i2c 426d0000.i2c I2C adapter i2c-8 i2c i2c-2-mux (chan_id 0) I2C adapter i2c-9 i2c i2c-2-mux (chan_id 1) I2C adapter i2c-10 i2c i2c-2-mux (chan_id 2) I2C adapter Please suggest a solution. Re: Camera bring-up with imx95 so the orginal setup has 4 camera modules with MAX96724,right now you change one of the module cam3 with custom camera module MAX96717 and you can not find it. The module is chan_id 3,right? Re: Camera bring-up with imx95 Yes, that's correct Re: Camera bring-up with imx95 I got this fixed by running a correct SerDes config. Now, the camera is up, but getting too white video data. How can I do Image tunning? Attached a video for reference. Re: Camera bring-up with imx95 I got the image as output. How do I do image tuning: Attached the image and data which I have used. Re: Camera bring-up with imx95 First check: Is ISP actually being used? Run: libcamera-hello --list-cameras or media-ctl -p and verify the stream is going through: Sensor -> ISI -> ISP -> libcamera If you're bypassing the ISP and displaying RAW data directly, image quality will look very poor. The i.MX95 camera subsystem is designed to use the ISP for RAW Bayer sensors. Common cause #1: Wrong Bayer pattern You replaced the SVS sensor: OX03C10 with: OX03H10 One of the first things to verify is: BGGR RGGB GRBG GBRG If the Bayer order configured in the driver differs from the sensor output format, the image often appears: extremely bright wrong colors pink/magenta tint green tint Check the sensor mode table and DT endpoint configuration. Common cause #2: Exposure too high Try forcing exposure manually. For example: v4l2-ctl -d /dev/v4l-subdevX --all `` Check: exposure analog gain digital gain If exposure is fixed at a large value, the image will become completely white. Common cause #3: AE/AWB not working The i.MX95 ISP uses calibration/tuning information and IPA algorithms for: AE (Auto Exposure) AWB (Auto White Balance) Color correction Denoise Gamma The camera porting guide states that a sensor-specific configuration and calibration database must be created for a new sensor. If you simply copied the OX03C10 driver and changed the sensor ID, the ISP may still be loading OX03C10 tuning parameters, which are incorrect for OX03H10. Common cause #4: Wrong DTP / calibration database For i.MX95, tuning parameters are stored in sensor-specific database files: database_ _ _ _ .bin The porting guide states that a dedicated calibration file must be created for a new sensor and installed through the IPA configuration. Without proper calibration: exposure can be unstable white balance can be wrong colors can be inaccurate image may appear washed out Re: Camera bring-up with imx95 How to generate tuning bin files?
查看全文
S32K566 MCAL支持canxl吗?有demo吗 S32K566 MCAL支持canxl吗?有demo吗 Re: S32K566 MCAL支持canxl吗?有demo吗 Hi@leonchan2 你说的是在S32 DS中,在MCAL中选择CANXL组件吗? 如果是这样的话没有,我看到的是只可以在Driver中配置。 在EB Tresos的话,可以配置CANXL,并且我看到在S32 DS中我看到提供了一个工作在loop-back模式的demo。 S32K5的还没有mass market, 你可以联系你的代理商或者FAE来询问更多的细节问题。
查看全文
i.MX8M Plus - 使用 PCA9450C 时出现 WDOG_B# PU 错误 大家好, 使用 BSDL 模式是否需要在 WDOG_B# 引脚上安装 100k PU? 根据硬件设计指南,如果使用除 PCA9450 以外的 PMIC,则需要外部 PMIC。 可能需要上拉电阻(100 kΩ)来支持 边界扫描模式 在 EVK 设计中,100k PU 似乎安装在 WDOG_B# 引脚上,它们使用的是相同的 PCA9450 PMIC。 请确认。 PMIC Re: i.MX8M Plus - WDOG_B# PU when using PCA9450C 虽然 PCA9450C 默认禁用 WDOG_B 复位,并且正常操作并非严格需要上拉电阻,但 NXP 建议在需要边界扫描支持时添加 100 kΩ 上拉电阻。EVK 还安装了该电阻器,以确保在 BSDL 测试期间具有定义的 WDOG_B 电平,并避免在边界扫描模式下 WDOG_B 浮空时可能出现的RESET问题。
查看全文
添付モデル内のCANアナライザを停止・再起動した後に複数のCANメッセージを送信する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ヒンネン こんにちは、 RHinnen 以下の問題を解決するために貴重な時間をいただけませんか?以下の問題を解消するために。CANアナライザーを停止・再開始した後もMCUをリセットせずに複数のCANメッセージを送信し続けるモデルを変更する方法について教えてください。MPC574xP サンプルプロジェクト - 通信で提供されているサンプル -CAN1 (Flexcan Traffic) には、この問題は存在しません。 これまで、モデルに別のCANメッセージ(異なるID)を追加しても、CANアナライザーはID CANメッセージを1つしか送っていません。CANアナライザは、停止および開始後にCANメッセージの送信を停止します。 解決策をお待ちしております。どうもありがとうございました! サンプル・モデル Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached こんにちは、 私も同じ問題の解決策を探しています。 もしその問題を解決したなら、MCUを再起動せずにCAN信号を送信してください。あなたのやり方を教えていただけると、私のプロジェクトに役立ちます。 ありがとう、 ラフル Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、スパーク はい、残念ながら、同じMBを複数の転送に使用したい場合は、以下のいずれかの方法を取る必要があります。 - ブロックモードを使うか(アプリケーションの動作が少し遅くなる可能性が高い) - ノンブロッキングモードを使用するが、同じMB上での2回目の転送は、1回目の転送が完了した後にのみ実行されるようにする。そうでなければ、最初の転送は2番目の転送によって停止され、完了まで実行されません。 2つ目の選択肢は、**アプリケーション**の書き方によります。タイミング**マネジメント**は自分で行う必要がありますが、タイミング**マネジメント**のオーバーヘッドによっては、やや速い**アプリケーション**ができるという利点もあります。 最初の選択肢は比較的簡単です(ブロックがすべて処理します)が、その少しの余分な時間がアプリケーションに記載できるかどうかを決める必要があります。 最良のシナリオは、マネジメントが使えてノンブロッキングモードを使える場合で、転送ごとに専用のマザーボードセットが割り当てられている場合です。 これで少しは状況が明確になったでしょうか。 敬具 ラズバン。 Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> この質問は11月に寄せられたものですが、何か進展はありましたか? 私が発見した問題点は、メッセージバッファをメッセージごとに個別に設定していなかったことでした。各メッセージを特定のバッファに読み込むように設定する必要があるとは知りませんでした。 Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 正しいアプローチがどのようなものなのか、私にはまだ分かりません。正しい例を教えてもらえますか? ありがとう。 Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ポールヴラーゼ、 ご確認いただき、解決策をご検討ください。ありがとう! ダニエル
查看全文
SJA1110 Qbv AdminBaseTime Configuration Dear NXP members, I have been working on the configuration of the SJA1110 switch on the S32G-VNP-RDB3 board for enabling the TSN features such as PTP and Qbv. I am using the SJA1110 SDK for S32 Design Studio to configure the switch, generate an updated sja1110_uc.bin file, and deploying it on the S32G board. Although I have been able to understand and test the configuration of most Qbv parameters, I was not able to grasp the correct configuration of the ADMINBASETIME[31:0] and ADMINBASETIME[63:32] on the QBV Administrative Parameters table. According to the documentation in the document um549820-UM11107 Software User Manual for SJA1110(2.0), ADMINBASETIME is explained as: Defines the administrative value used for the base time, expressed in PTP/free running timescale, used for reference when calculating the moment in time when the reconfigured gate cycle begins (CycleStartTime) . But it does not provide any clue about how to calculate this value in a real project. Besides, the SJA1110 Qbv example on the SJA1110 Extended Configuration presentation uses 0 (start directly for this parameter). Let's imagine one example. Qbv is configured for the port 3 of the SJA1110 switch, which has a speed of 1000Mbps, and a granularity of 200 ns. One cycle has 500 μs and three segments: In the first segment, all Traffic Classes are open, except TC7. It lasts for 100 μs (TRIGGER_TIME = 500); In the second segment, only Traffic Class 7 is open, the other TCs are closed. It lasts for 300 μs (TRIGGER_TIME = 1500); In the third segment, all Traffic Classes are open, except TC7. It lasts for 100 μs (TRIGGER_TIME = 500). But in the same network there are another TSN switches configured with a Qbv cycle of 500 μs, but different segment intervals. How do I calculate ADMINBASETIME in order to synchronize between TSN switches and make sure it aligns with the gPTP time epoch? Thank you very much for your support! Re: SJA1110 Qbv AdminBaseTime Configuration Hello @GuilhermeS32G , Yes, ADMINBASETIME configuration ideally should be set programmatically during runtime to ensure that the Qbv on all switches is synchronized.  I would suggest to build the SJA1110 static configuration with ADMINBASETIME = 0. ADMINBASETIME should be programmed dynamically at runtime after gPTP synchronization is established. In that case, a host application, TSN management stack, CNC or other custom configuration software would read the current synchronized time, select a future base time with sufficient margin, write the Qbv administrative parameters (via dynamic reconfiguration) and trigger the configuration change. I would not recommend resetting the gPTP time at each startup only to make a fixed ADMINBASETIME valid. Best regards, Pavel Re: SJA1110 Qbv AdminBaseTime Configuration Hello @PavelL , Thanks for your support once again. So, from my understanding, this ADMINBASETIME configuration ideally should be set programmatically during runtime so to ensure that the Qbv schedule is in the future. In my case, as the SJA1110 switch is booting in SDL Boot, I am using the SJA1110 SDK for S32DS for programming its firmware. In this case, I would have to set the ADMINBASETIME in the QBV Administrative Parameters table; then build the new firmware file; deploy it into the S32G-VNP-RDB3 board; reboot the board so that the new configuration takes effect. The first time the ADMINBASETIME would be in the future, but then if I don't update the firmware in the subsequent runs, it would always have to adjust the active start time, as you have mentioned. In this case, wouldn't be better to simply set the ADMINBASETIME to 0? Otherwise, it would be better to reset the gPTP time during every start-up. Best regards, Guilherme Re: SJA1110 Qbv AdminBaseTime Configuration Hello @GuilhermeS32G , ADMINBASETIME should be understood as the absolute time reference/phase reference for the Qbv schedule. It is used to align the start of the repeating Qbv cycle to the synchronized time domain. It is not calculated from the port speed and it is not based on the TRIGGER_TIME granularity. In a multi-switch TSN system, gPTP / IEEE 802.1AS provides the common synchronized time base, but it does not automatically configure the Qbv schedule. The Qbv configuration, including ADMINBASETIME, must be programmed by a TSN management stack/CNC or by application-specific/custom software running on the host processor. IEEE 802.1Qcc describes centralized TSN configuration models where a CNC computes and distributes TSN configuration to the network devices.  https://www.ieee802.org/1/files/public/docs2017/cc-Kehrer-StartOfCycleReference-0117-v01.pdf A typical procedure might look like: 1. Start gPTP / 802.1AS and wait until all relevant TSN devices are synchronized. 2. Read the current synchronized time from the device/PTP time domain. 3. Choose a future base time: ADMINBASETIME = current_gPTP_time + safety_margin The safety margin should be large enough to allow the configuration to be written to all switches/ports before the selected base time is reached. 4. Program the same ADMINBASETIME and the same cycle time on all switches/ports that must share the same Qbv cycle phase. 5. Program the per-port GCL entries according to the required schedule. If alignment to the gPTP time epoch is required, the selected base time can also be aligned to the cycle boundary, e.g.: ADMINBASETIME = ceil((current_gPTP_time + safety_margin) / cycle_time) * cycle_time This is the same general idea used by Linux taprio: base-time defines when the schedule starts; if the base time is already in the past, the active start time is derived by adding an integer number of cycle times until the resulting start time is in the future. https://www.cisco.com/c/en/us/td/docs/switches/lan/cisco_ie4000/tsn/b_tsn_ios_support/b_tsn_ios_support_chapter_01.html https://deepwiki.com/nxp-qoriq/tsntool/5.2-device-configuration For SJA1110, the final ADMINBASETIME value must be encoded according to the time format expected by the SJA1110 Qbv configuration, and then split into: ADMINBASETIME[31:0] = lower 32 bits ADMINBASETIME[63:32] = upper 32 bits So, in summary: gPTP provides the common time; another software/configuration layer must choose and program the Qbv ADMINBASETIME relative to that time. This may be done by a TSN management stack/CNC or by custom application code in a simpler embedded system. Best regards, Pavel
查看全文
S32N55 HSE2 CRSドメイン認証が完了しません こんにちは、 私たちはS32N55上でHSE2ベースのSecure Debugを実装しており、SDC-600のデバッグ認証フロー(チャレンジ/レスポンス、APPモード、AES-256-CMAC)を用いています。これは、T32 CMMホストスクリプトがデバッグポートを介してSDC-600と通信して駆動されます。 **状態** - **FSSドメイン**:セキュアデバッグ認証が正常に完了します。デバッグターゲット `0x1A` (FSS) は、チャレンジ/レスポンスの交換後に `AUTHSTATUS = 0xBBB` を返し、ドメインのロックが解除されたことを確認します。 - **CRSドメイン**:認証が完了しない。CRSにはデバッグターゲット「0x1B」を使用しています(HSE2 FWリファレンスマニュアルからの確認待ち、下記質問1参照)。 **CRSの観測された挙動** 1. SDC-600 COMM_STARTとSoC Infoの交換が正常に完了しました。 2. ターゲット `0x1B` への AUTH_MODE_REQ は、予想どおり `AUTH_MODE = 0x0` (チャレンジベース) を返します。 3. APP_CHALLENGEリクエストが完了します;32バイトのチャレンジがFWから受信されます。 4. ADKPを使ってAES-256-CMACとしてチャレンジを計算し、16バイトの「appChallengeAuth」応答を送信します。この送信は、トランスポートレベルのエラーなく完了しました。 5. **この時点では、FWは`RxRESULT`を送信しません。**ホストスクリプトは、`rx_response_from_fw` での応答を待って停止します。`0xF2` (失敗) も ACK パターンもなく、応答がまったくありません。これは正常な障害とは異なります。ファイアウォールがこの要求に対する応答を生成する段階にすら達していないようです。 **現在の仮説** FSS側では、OTPのADKPを所有者の認可/認証キー(「HSE_SRV_ID_DEBUG_KEY_MAPPING」)として登録するために「Sherpa_Cdd_SetOwnerDebugKeyMap()」を一度呼び出します。このマッピングは、通話が発信されるMUチャネルの文脈でのみ適用されており、CRS側のHSE2インスタンスには見えないと推測されます。これが、CRSがストールするために明示的な失敗を返さずにCARD_REQUESTする理由を説明しています。 **質問** 1. `AUTH_MODE_REQ`と`CARD_REQUEST`におけるCRSドメインの正しいデバッグターゲット/ドメインID値は何ですか?現在、`0x1B`と想定していますが、確認または修正をお願いします。 2. `Sherpa_Cdd_SetOwnerDebugKeyMap()` (`HSE_SRV_ID_DEBUG_KEY_MAPPING`) はドメインごと/MUごとに発行する必要がありますか、それとも FSS と CRS で共有される単一のグローバルマッピングがありますか?ドメインごとに設定する場合、このサービスにおける対象となるMU/所有者はどのように選択されるのですか? 3. `SetOwnerDebugKeyMap` は起動のたびに呼び出す必要がありますか、それともマッピングは一度設定されると永続的になりますか (例:OTP/NVMの状態に紐づいているので、一度だけ呼び出せばいいのですか? 4. 'CARD_REQUEST'におけるCRSドメインに対して期待されるOID値は?現在、FSSで有効な方法と同様に、すべて`0xFF`(16バイト)を送信しています。 5. CRSドメインにおける`CARD_REQUEST`パケットの構造(`hseDebugCardCmd_t`)はどのようなものですか?`KRI`、`OID`、`AuthScheme`、またはデバッグドメインシグナルマップフィールドにおいて、FSS/APPドメインのレイアウトと違いはありますか? 6.CRSの「CARD_REQUEST」の認証タグはどのように計算すべきでしょうか?FSSと同じ「debugCardInfo」フィールド上でCMACで処理されるのか、それともCRSは異なるフィールドを含める必要がありますか? CRSドメインの想定されるシーケンス/値に関する情報があれば大変助かります。必要であれば、弊社のCMMスクリプトと取得したSDC-600バイトログを共有いたします。 よろしくお願いします。 Re: S32N55 HSE2 CRS domain authentication does not complete こんにちは、 @EddiePark 投稿ありがとうございます。 ご提示いただいた9つの質問につきましては、社内チームと協議を開始しており、現在も調査中です。進展があり次第、速やかにご回答いたします。 新たに挙げられた質問については、まず以前の質問と照らし合わせて確認し、その後一つずつ調査を進めていきます。 BR チェイン
查看全文
S32K566 MCALはCANXLをサポートしていますか?デモはありますか? S32K566 MCALはCANXLをサポートしていますか?デモはありますか? Re: S32K566 MCAL支持canxl吗?有demo吗 こんにちは、@ leonchan2 S32 DS内のMCALでCANXLコンポーネントを選択することについて言及されていますか? もしそうなら、いいえ、私が確認した限りでは、それはドライバーでのみ設定可能です。 EB TresosではCANXLの設定が可能で、S32 DSで提供されているループバックモードで動作するデモを確認しました。 S32K5はまだ量産市場に出回っていません。詳細については、販売店またはFAEにお問い合わせください。
查看全文
S32G3プラットフォームソフトウェア統合を用いてS32G3上でマルチコアアプリケーションを有効化する こんにちは; 私たちは、S32G399a に適用されたドキュメント AN13750 の手順を再現しようとしていますが、IPCF モジュールのビルドに関して懸念があります。 ドキュメントには「 0001-ipc-multi-instances.patch 」を使用するように記載されています。しかし、これはS32G3には適用されません。 S32G3の場合、ドキュメントのすべての手順を進めてデュアルブートに成功するために、IPCFモジュールのビルドをどのように進めればよいか説明する方法はありますか? Re: Enabling Multicore Application on S32G3 using S32G3 Platform Software Integration こんにちは、 @TrikiIkram 投稿ありがとうございます。 1. S32G3に関するAN13750と同様の参考資料となるような公開文書がまだ存在しないことをお詫び申し上げます。 2. 現時点では、S32G3での使用方法のステップバイステップガイドではなく、AN13750を参考として使うことをおすすめします。S32G3プラットフォーム上でIPCFを設定する際は、マルチインスタンスサンプルではなく単一インスタンスサンプルを直接試すことをおすすめします。そうすれば、前述のパッチを適用する必要がなくなります。 BR チェイン
查看全文
RT1170 EVKB 双核示例:CM7 启动时卡住 大家好, 我刚开始使用RT1170 EVKB开发板,正在尝试运行位于以下位置的多核Hello World示例: boards/evkbmimxrt1170/multicore_examples/hello_world 我使用的是 MCUXpresso SDK v26.03.00(最新可用版本)。 当我加载多核示例时,CM7 内核在启动期间挂起,而调试器显示 CM4 内核正在运行。CM7 永远不会执行到 `main()`。 故障状态寄存器包括: 为了排除多核示例的问题,我还尝试运行独立的 CM7 Hello World 示例,但它表现出相同的行为。但是,独立的 CM4 Hello World 示例可以正常运行。 该电路板为RT1170 EVKB ,采用默认跳线和拨码开关设置,我没有修改任何硬件配置。 有人在使用 SDK 26.03.00或 RT1170 EVKB 时遇到过这个问题吗?CM7 内核是否需要任何额外的电路板配置、启动设置或调试器配置? 我还测试了之前的 SDK 版本( v2.13.0 ),但发现 CM7 内核也存在同样的问题。 任何建议都将不胜感激。 谢谢! Re: RT1170 EVKB Dual-Core Example: CM7 Hangs at Startup 嗨@FranklinOmo , 请问您能否分享一下您电路板的原理图版本?另外,为了简化审核流程,您能否给我们发送一张电路板的照片? 此致, 巴勃罗 Re: RT1170 EVKB Dual-Core Example: CM7 Hangs at Startup 嗨@Pablo_Ramos 以下是板的图片,供您参考。 Re: RT1170 EVKB Dual-Core Example: CM7 Hangs at Startup 嗨@FranklinOmo , 谢谢你提供的电路板照片。 你能帮我批量擦除板吗? 您可以在以下文档中找到使用 SPT 执行批量擦除的步骤: RT 开发板调试器连接问题恢复 您能否也帮我更新一下固件进行测试? 有关固件更新的说明,请参阅 MIMXRT1170-EVKB 板硬件用户指南第 2.11 节“板载调试器”。 您之前是否成功编程并运行过 CM7 应用程序?还是说,自从电路板从包装盒里拿出来后,就一直存在这种问题? 如果问题仍然存在,您能否尝试使用 GUI Flash Tool 或 SPT 对设备进行编程? 顺祝商祺! 巴勃罗
查看全文
SoC: i.MX8QXP (S1MX8QX5AVLF1BBと表記) Re: SoC: i.MX8QXP (marked S1MX8QX5AVLF1BB)brick こんにちは、 @Potesz さん ご質問は何ですか?問題について、より詳しい情報を提供してください。 BR
查看全文
LPC845 の GPIO への DMA 書き込みが失敗します LPC845 DMAはGPIOを0xA0000000で書き込めないようです GPIO書き込みを実行しようとすると、DMA0 ->ERRINT=1 というエラーが発生します。 トラブルシューティングの手順として、宛先アドレスをRAMに変更したところ、ERRINTフラグは発生しなくなりました。 これが本当に不可能なのかどうかを断定できる情報源は見つかりませんでした。 決定的ではないものの、その可能性を示唆する参考文献を見つけました: https://community.nxp.com/t5/LPC-Microcontrollers/Lpc-824-DMA-to-GPIO/m-p/650903 どなたか確認してもらえますか? Re: LPC845 DMA write to GPIO fails こんにちは、 @phatpaul ご質問ありがとうございます。 はい、LPC845 DMAコントローラはアドレス0xA0000000のGPIOレジスタ空間に直接書き込みできません。The GPIO ペリフェラル is コネクテッド through the Cortex-M0+ I/O bus for fast CPU アクセス, whereas the DMA コントローラ アクセス memories and supported ペリフェラル through the AHB/APB bus インフラ. さらに、LPC845のデータシートには次のように記載されています。 「DMAコントローラーはすべてのメモリとUSART、SPI、I2C、DAC、そしてキャパシティブタッチにアクセスできます。」 GPIOはDMAがアクセス可能なペリフェラルには含まれていません。したがって、GPIOレジスタ空間へのDMA転送はサポートされておらず、転送エラー(ERRINT)が発生します。これは、お客様が観察された動作と一致しています。 よろしくお願いします。 BR アリス
查看全文
RT1170 EVKBデュアルコアの例:CM7が起動時にハングアップする こんにちは、皆さん 私は最近RT1170 EVKBボードを使い始めたばかりで、以下の場所にあるマルチコアHello Worldサンプルを実行しようとしています。 boards/evkbmimxrt1170/multicore_examples/hello_world 私はMCUXpresso SDK v26.03.00(最新バージョン)を使っています。 マルチコアのサンプルをロードすると、CM7コアが起動中にハングアップする一方、デバッガーではCM4コアが動作していることが示されます。CM7は`main()`に到達しません。 障害状態レジスタは以下のとおりです。 マルチコアの例に問題がある可能性を排除するため、スタンドアロンのCM7 Hello Worldの例も実行してみましたが、同じ動作を示しました。しかし、スタンドアロンのCM4 Hello Worldサンプルは正しく動作します。 ボードは RT1170 EVKB ( ジャンパーとディップ・スイッチ設定 )で、ハードウェア構成は変更していません。 SDK 26.03.00 やRT1170 EVKBでこの問題に遭遇した方はいらっしゃいますか?CM7コアを使用するには、追加のボード設定、ブート設定、またはデバッガー設定が必要ですか? 以前のSDKバージョン(v2.13.0)もテストしましたが、CM7コアでも同じ問題が起きていました。 何かご提案があれば大変ありがたいです。 ご回答をお待ちしています。 Re: RT1170 EVKB Dual-Core Example: CM7 Hangs at Startup こんにちは、@FranklinOmo さん。 基板の回路図の改訂版を教えていただけますか?さらに、レビューを簡素化するために、ボードの写真を送ってもらえますか? よろしくお願いします、 パブロ Re: RT1170 EVKB Dual-Core Example: CM7 Hangs at Startup こんにちは、 @Pablo_Ramos さん。 参考までに、ボードの画像を掲載します。 Re: RT1170 EVKB Dual-Core Example: CM7 Hangs at Startup こんにちは、@FranklinOmo さん。 ボードの写真をありがとうございます。 ボードの大量消去を手伝ってもらえますか? SPTを使ったマス消去の手順は以下の文書で確認できます: デバッガ接続の問題に対するRTボードのリカバリ ファームウェアのアップデートも手伝っていただけますか? ファームウェアの更新手順は、MIMXRT1170-EVKBボードハードウェアユーザーガイドのセクション2.11「搭載デバッガ」に記載されています。 これまでにCM7アプリケーションを成功裏にプログラム・実行できたことはありますか?それとも、この動作はボードを箱から出した当初からありましたか? 問題が続く場合は、GUI Flash ToolやSPTを使ってデバイスのプログラミングも試してみてはどうでしょうか? よろしくお願いいたします。 パブロ
查看全文
LS1028ARDb Yocto-SDKビルドの問題 こんにちは、 私はここに書かれている指示に従おうとしています。 https://github.com/nxp-qoriq/yocto-sdk LS1028ARDBのOSおよびSDKイメージを構築するために walnascarがデフォルトブランチのようですが、上記のリンク先の指示に従うとビルドが失敗します。 MKDIR Yocto-SDK CD YOCTO-SDK Repo init -u https://github.com/nxp-qoriq/yocto-sdk-b ワルナスカー リポジトリ同期 --強制同期 。./setup-env -m ls1028ardb bitbake fsl-image-networking これは3つのエラーで失敗します: - sysvinitインストールエラー - DTCネイティブコンパイルエラー - util-linux-native コンパイルエラー このドキュメントの手順も試してみましたが、誤った手順を回避したとしても、別の方法で失敗します(指定された「ls-image-desktop」が存在しません)。 https://docs.nxp.com/bundle/UG10081_LLDP_L6.1.55_2.2.0/page/topics/how_to_download_flexbuild.html flexbuildオプションも見つけ、ここに記載されている手順に従いました。 https://github.com/nxp/flexbuild git clone https://github.com/NXP/flexbuild.git CDフレックスビルド make docker ls1028ardb_defconfig を作成します すべてを作る これも以下のエラーで失敗します。 W: binfmt_misc が /proc/mounts に見つかりません -- マウントされていません OSイメージやSDKを構築する際の正しい手順は何ですか? よろしくお願いします。 マット Re: ls1028ardb yocto-sdk build problems 以下の最新のYocto Linux SDKリリースを使用してください。 今回のリリースには、以下に示すソースコードとビルド済みイメージの両方が含まれています。 ソースリリースファイルは、 https://github.com/nxp-qoriq/yocto-sdk/tree/walnascar-lsdkにあります。 ブランチ: walnascar-lsdk Linux BSP対応の基板、機能、既知の問題については、リリースノートをご参照ください Yocto用レイヤースケープソフトウェア開発キットユーザーガイド: UG10374.pdf Layerscape Linux SDK ユーザーガイド: UG10381.pdf 以下のプリコンパイル済みイメージは、 https://www.nxp.com/lgfiles/llsdk/walnascar/ にホストされています。 件 名称 説明 1 boot_ls1028ardb_lts_6.12.tgz LS1028ARDBのブートパーティションイメージ 2 boot_ls1043ardb_lts_6.12.tgz LS1043ARDBのブートパーティションイメージ 3 boot_ls1046ardb_lts_6.12.tgz LS1046ARDBのブートパーティションイメージ 4 boot_lx2160ardb-rev2_lts_6.12.tgz LX2160ARDBのブートパーティションイメージ 5 firmware_ls1028ardb_uboot_emmcboot.img LS1028ARDB eMMCブート用のBSPファームウェアイメージ 6 firmware_ls1028ardb_uboot_sdboot.img LS1028ARDB SDブート用BSPファームウェアイメージ 7 firmware_ls1028ardb_uboot_xspiboot.img LS1028ARDB XSPIブート用のBSPファームウェアイメージ 8 firmware_ls1043ardb_uboot_nandboot.img LS1043ARDB NANDブート用のBSPファームウェアイメージ 9 firmware_ls1043ardb_uboot_norboot.img LS1043ARDB NORブート用BSPファームウェアイメージ 10 firmware_ls1043ardb_uboot_sdboot.img LS1043ARDB SDブート用BSPファームウェアイメージ 11 firmware_ls1046ardb_uboot_emmcboot.img LS1046ARDB eMMCブート用のBSPファームウェアイメージ 12 firmware_ls1046ardb_uboot_qspiboot.img LS1046ARDB QSPIブート用のBSPファームウェアイメージ 13 firmware_ls1046ardb_uboot_sdboot.img LS1046ARDB SDブート用BSPファームウェアイメージ 14 firmware_lx2160ardb-rev2_uboot_emmcboot.img LX2160ARDB eMMCブート用BSPファームウェアイメージ 15 firmware_lx2160ardb-rev2_uboot_sdboot.img LX2160ARDB SDブート用BSPファームウェアイメージ 16 firmware_lx2160ardb-rev2_uboot_xspiboot.img LX160ARDB xSPIブート用BSPファームウェアイメージ 17 fsl-image-networking-ls1028ardb.rootfs.tar.gz Layerscape rootfsは基本的なネットワーク機能をサポートしていますLS1028ARDB 18 fsl-image-networking-full-ls1028ardb.rootfs.tar.gz Layerscape rootfsはLS1028ARDB上で完全なネットワーク機能をサポートしています 19 fsl-image-networking-ls1043ardb.rootfs.tar.gz Layerscape rootfsは基本的なネットワーク機能をサポートしていますLS1043ARDB 20 fsl-image-networking-full-ls1043ardb.rootfs.tar.gz Layerscape rootfsはLS1043ARDB上で完全なネットワーク機能をサポートしています 21 fsl-image-networking-ls1046ardb.rootfs.tar.gz Layerscape rootfsは基本的なネットワーク機能をサポートしていますLS1046ARDB 22 fsl-image-networking-full-ls1046ardb.rootfs.tar.gz Layerscape rootfsはLS1046ARDB上で完全なネットワーク機能をサポートしています 23 fsl-image-networking-lx2160ardb-rev2.rootfs.tar.gz Layerscape rootfsは基本的なネットワーク機能をサポートしていますLX2160ARDB 24 fsl-image-networking-full-lx2160ardbrev2.rootfs.tar.gz Layerscape rootfsはLX2160ARDB上で完全なネットワーク機能をサポートしています 25 フレックスインストーラー ツールの展開 画像展開の詳細はユーザーガイドの文書をご参照ください。 Debian Flexbuilder Linux SDKを使ってDebian Linux OSを使うこともできます。 Re: ls1028ardb yocto-sdk build problems この投稿の後、Flexbuild readme.md に載っていない前提条件がいくつかあるDebian Linux SDKユーザーガイドを発見しました。これにより、LS1028ARDB用のDebianベースのイメージを生成できるようです。 Yocto環境に似た方法でSDKを生成する手順は何ですか?それとも、標準的なクロスコンパイラをお勧めしますか? Debianソリューションは今やこのプラットフォームの推奨OSなのでしょうか?Yoctoは組み込みシステムにより適しているように感じます。 よろしくお願いします。 マット Re: ls1028ardb yocto-sdk build problems こんにちは、 ご意見ありがとうございます。しかし、walnascar-lsdk ブランチは、上記で説明した walnascar ブランチと同様のエラーで失敗します。 これは以下の出力です bitbake -k fsl-image-networking-full 概要:4つのタスクが失敗しました。 ~/walnascar-lsdk/sources/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb:do_install log: ~/walnascar-lsdk/build_ls1028ardb/tmp/work/ls1028ardb-FSL-Linux/sysvinit-Inittab/2.88dsf/temp/log.do_install.1267212 Virtual:native:~/Walnascar-LSDK/Sources/Poky/Meta/Recipes-Core/Util-Linux/Util-linux_2.40.4.bb:do_compile log: ~/walnascar-lsdk/build_ls1028ardb/tmp/work/x86_64-linux/util-linux-native/2.40.4/temp/log.do_compile.1304034 virtual:native:~/walnascar-lsdk/sources/poky/meta/recipes-kernel/DTC/dtc_1.7.2.bb:do_compile log: ~/walnascar-lsdk/build_ls1028ardb/tmp/work/x86_64-linux/dtc-native/1.7.2/temp/log.do_compile.1321834 ~/walnascar-lsdk/sources/poky/meta/recipes-devtools/flex/flex_2.6.4.bb:do_compile log: ~/walnascar-lsdk/build_ls1028ardb/tmp/work/aarch64-FSL-Linux/Flex/2.6.4/temp/log.do_compile.2409352 概要:警告メッセージが17件ありました。 概要:6件のエラーメッセージが発生し、ゼロ以外の終了コードが返されました。 よろしくお願いいたします マット
查看全文