Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
哪里可以找到30天的免费试用许可证? 大家好, 我正在寻找NXP MCAL的30天免费试用许可证。 过去我总能找到路。但现在网站更新了,我的许可证链接丢失了。 请问您能把许可证发给我吗?我正在使用 EB 29.0 和 RTD 6.0.0。 情况紧急,请您尽快提供帮助! BR 和谢谢, 志阳 Re: Where to find the free-trial license for 30days? 嗨,罗宾, 非常感谢! BR, 志阳 Re: Where to find the free-trial license for 30days? 嗨志扬, SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_ReleaseNotes.pdf文件中的“ 2.4.1 EB Tresos ”部分提到: 模块配置是使用 Tresos 配置工具版本“EB Tresos Studio 29.0.0 b220329-0119”开发和测试的。 请点击下载 EB Tresos Studio 29.0.0 b220329-0119。 S32K3 标准软件-> 汽车软件 - EB tresos Studio / AUTOSAR 配置工具 -> EB tresos Studio 29.0.0 此致敬礼, Robin
View full article
S32DS3.4 能提供一下S32DS3.4的下载链接和激活密钥吗? Re: S32DS3.4 好的,谢谢 Re: S32DS3.4 Hi@不懂机器人 点击这个,可以找到旧版本的S32 DS。 新版本我没有测试过安装SDK,如果是RTM 3.0.X的你只能在S32 DS V2.2上用,RTM 4,0,X的话,我没有尝试过在S32 DS V3.6上安装。 Re: S32DS3.4   呃...... 这3.4版本点进去怎么跳转到3.5版本的下载了 也就是说S32DS V3.6不支持S32K1系列SDK版本是吧 Re: S32DS3.4 Hi@不懂机器人 继续点击下载,会跳转到下载页面,这里面可以看到不同的S32 DS版本。 对于S32 DS V3.6,这要看你开发S32K1所使用的软件版本是什么,是SDK还是RTD。 如果你是新开发的应用,使用RTD,这完全支持。 Re: S32DS3.4 从你提供的链接进去是这样的 S32DS v3.6 支持S32K146芯片吗? Re: S32DS3.4 还有就是,S32 DS V3.6是可以兼容旧版本的 Re: S32DS3.4 Hi@不懂机器人 你将你的下载页面的截图提供给我,我看一下 Re: S32DS3.4 你们官网进去只有S32DS3.5和3.6版本的,没找到3.4版本。 Re: S32DS3.4 嗨@不懂机器人 该版本可在NXP 网站和S32DS 3.4中下载。 请确保您已获取此版本的新激活码。
View full article
30日間無料トライアルライセンスはどこで入手できますか? チームの皆さん、こんにちは。 NXP MCALの30日間無料トライアルライセンスを探しています。 以前は、私は道を見つけることができた。しかし、ウェブサイトが更新されたため、ライセンスリンクがなくなってしまいました。 ライセンスを教えてもらえますか?私はEB 29.0とRTD 6.0.0を使用しています。 緊急のことなので、すぐにサポートをいただけますか? BRとありがとう、 志陽 Re: Where to find the free-trial license for 30days? こんにちは、ロビンさん。 どうもありがとう! BR、 志陽 Re: Where to find the free-trial license for 30days? こんにちは、紫陽さん SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_ReleaseNotes.pdfの「 2.4.1 EB Tresos 」セクションには、以下の記述があります。 モジュール構成は、Tresos構成ツールバージョン「EB Tresos Studio 29.0.0 b220329-0119」を使用して開発およびテストされました。 ですので、どうぞ Eb Tresos Studio 29.0.0 b220329-0119 をクリックでダウンロードしてください S32K3 標準ソフトウェア - > オートモーティブ SW - EB tresos Studio / AUTOSAR 設定ツール - > EB tresos Studio 29.0.0 よろしくお願いいたします ロビン
View full article
Where to find the free-trial license for 30days? Hi team, i am looking for a 30days free-trial license for NXP MCAL. In the past i was able to find the path. but now the website is updated and i lost the license link. Could you please share me the license? i am using EB 29.0 with RTD 6.0.0. It's urgent for me, could you please have quick support? BR and thx, Zhiyang Re: Where to find the free-trial license for 30days? Hi Robin, thx a lot! BR, Zhiyang Re: Where to find the free-trial license for 30days? Hi Zhiyang, The section "2.4.1 EB Tresos" of SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_ReleaseNotes.pdf mentions: Modules configurations were developed and tested using the Tresos Configuration Tool version "EB Tresos Studio 29.0.0 b220329-0119" So please download the EB Tresos Studio 29.0.0 b220329-0119 by click  S32K3 Standard Software -> Automotive SW - EB tresos Studio / AUTOSAR Configuration Tool -> EB tresos Studio 29.0.0 Best Regards, Robin
View full article
S32DS3.4 Could you provide a download link and activation key for S32DS3.4? Re: S32DS3.4 OK, thanks Re: S32DS3.4 Hi@ DontUnderstandRobots Click this to find older versions of the S32 DS. I haven't tested installing the SDK on the new version. If it's RTM 3.0.X, you can only use it on S32 DS V2.2. I haven't tried installing RTM 4.0.X on S32 DS V3.6. Re: S32DS3.4   Uh... why does clicking on version 3.4 redirect me to download version 3.5? So, S32DS V3.6 doesn't support the S32K1 series SDK version, right? Re: S32DS3.4 Hi@ DontUnderstandRobots Clicking the download button will take you to the download page, where you can see different S32 DS versions. For S32 DS V3.6, it depends on the software version you used to develop S32K1, whether it's the SDK or the RTD. If you are developing a new application and using RTD, this is fully supported. Re: S32DS3.4 The link you provided leads to this... Does S32DS v3.6 support the S32K146 chip? Re: S32DS3.4 Also, S32 DS V3.6 is compatible with older versions. Re: S32DS3.4 Hi@ DontUnderstandRobots Please provide me with a screenshot of your download page so I can take a look. Re: S32DS3.4 Your official website only has S32DS versions 3.5 and 3.6; I couldn't find version 3.4. Re: S32DS3.4 Hi@不懂机器人 Release is available for download on NXP web and from S32DS 3.4. Please make sure that you get new activation ID for this version.
View full article
GUI Guider 2.0.0 just released! GUI Guider v2.0.0 Is Here: Build Embedded UIs Faster GUI Guider v2.0.0 improves the embedded UI development workflow with a redesigned editor, real-time rendering, updated project structure, and broader platform support. It helps developers move from layout design to integration faster, with fewer context switches along the way. 🚀 Key Enhancements in This Release ✅ A redesigned IDE UI with a more professional look and flexible layout options ✅ A new real-time rendering mechanism for a true what-you-see-is-what-you-get editing experience ✅ A flowchart-style event system designed for complex interaction logic ✅ Figma-to-GUI Guider project import to bridge design and development 1. Redesigned IDE UI The redesigned interface introduces a cleaner, more consistent visual style, making the editor easier to navigate and more comfortable to use during day-to-day development. Customizable layouts let developers organize the workspace around their preferred workflow, helping them access frequently used tools more quickly and edit interfaces more efficiently. Resource management, property configuration, and editing interactions have been streamlined to make common UI development tasks easier to complete. 2. Real-Time Rendering and Instant Simulation GUI Guider v2.0.0 integrates a new rendering mechanism that enables real-time rendering directly in the GUI editor. After modifying the interface, developers can preview the results immediately, reducing the time spent repeatedly generating code and switching contexts. This capability significantly accelerates UI prototyping and interaction validation, especially during fast iteration cycles. 3. Upgraded Property and Style System This release expands property and style configuration, giving developers more control over widget behavior, visual states, and appearance. Developers can enable, adjust, and manage properties, styles, and state settings based on the needs of each project. At the same time, the generated code structure has been further optimized, making it easier to integrate, read, and maintain. 4. New Project Structure GUI Guider v2.0.0 introduces a new folder organization model and project JSON configuration. The project directory is easier to understand, and project metadata is managed in a more consistent way. This structure makes projects easier to maintain as teams collaborate, add features, and expand the UI over time. 5. UI Design in the JSON Editor In addition to visual editing, the new version also supports UI design directly in the JSON editor. This is useful for automated builds, template-based configuration, and advanced engineering workflows where project files need to be reviewed, generated, or updated directly. 6. Visual Event System The event system now uses a flowchart-style visual representation. Conditions and animations can be reused, making the system better suited for building complex UI interaction logic. This approach is more intuitive and also makes debugging and maintenance easier. 7. Figma Design Import GUI Guider v2.0.0 supports converting Figma designs directly into GUI Guider projects. This further connects the workflow from design mockups to editable GUI projects, helping shorten the path between design and development. 8. Graphics Library Upgrade The new version upgrades to LVGL v9.4.0 and supports System Layer, Top Layer, and Bottom Layer capabilities, making it easier to organize UI elements across different layers. 9. Platform and Development Ecosystem Support While maintaining compatibility with existing platforms and development ecosystems, GUI Guider v2.0.0 further improves the project integration experience. It keeps pace with the latest Zephyr 4.4 release, strengthening project integration and version adaptation capabilities. The tool continues to support mainstream NXP embedded product families, including MCX, RW, i.MX RT, and i.MX. It can be seamlessly integrated into existing MCU and MPU projects to meet GUI development needs across a wide range of scenarios. With more stable ecosystem support, developers can spend more time on UI design and feature implementation and less time on integration work.   🚀 Try GUI Guider v2.0.0 and explore a faster workflow for developing embedded UIs. 📥 Resources Download GUI Guider 2.0.0 Visit the NXP website 💬 Community Forum: Join the discussion Follow us for more embedded GUI development tips and product updates!
View full article
How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached RHinnen‌ Hi , RHinnen    Could  you spare some precious time to help me solve the following problems: How to  modify the model attached to send multiple CAN messages and keep sending CAN messages without reset the the mcu after the CAN analyzer is stopped and started again? The example -CAN1(Flexcan Traffic )offered  in the MPC574xP Example Projects-Communictions does not exsit the problem.    Up to now ,even though i added another CAN message (different ID) in the model ,the CAN analyzer only sent one ID CAN message.  The CAN analyzer  will stop sending CAN messages after stopped and started .      Look forward to your solution ,thank you very much! Example Models Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached Hi, I am also searching to resolve the same issue. If you resolved that CAN signal sending without MCU restart. Kindly share your approach it will be helpful for my project Thank You, Rahul Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached Hello sparkee, Yes, unfortunately if you want to use the same MB for multiple transfers you'll have to do one of the following: - either use blocking mode (which will likely slow down a bit your application) - either use non-blocking mode, but making sure the 2nd transfer on the same MB will be done only after the 1st was completed. Otherwise, the 1st transfer will be halted by the 2nd, so it will not run to completion. The 2nd option here depends on how you write your application, as you'll have to manage the timing yourself - nevertheless, it can have the advantage of a slightly faster application (depending on what overhead you add with the timing management). The 1st option is simple enough (the block handles everything), but you must decide if that bit of extra time spent in the blocking transfer is something you can have or not in your application. The best scenario is the one where you have MBs available so that you can use the non-blocking mode, each transfer having it's own MB set. Hope this clears things up a bit. Kind regards, Razvan. Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached This question was asked in November... any traction on this?  The issue that I found was that I was not setting the message buffers different for each message.  I didn't realize you had to set each message to load into a specific buffer. Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached    I still don't know what the right approach should look like. Can you give me a correct example?    thanks. Re: How to send multiple CAN messages after stop and restart the CAN analyzer in the model attached paulvlase‌, Please have a look and investigate a possible solution. Thank you! Daniel
View full article
i.MX8M Plus - WDOG_B# PU when using PCA9450C Hi Team, Do we need to mount 100k PU in WDOG_B# pin for using BSDL Mode? As per Hardware Design Guide it says "If using a PMIC other than PCA9450, an external pullup resistor (100 kΩ) may be required to support Boundary-scan mode" In EVK design it seems 100k PU was mounted in WDOG_B# pin they are using same PCA9450 PMIC. Kindly confirm. PMIC Re: i.MX8M Plus - WDOG_B# PU when using PCA9450C Although PCA9450C disables WDOG_B reset by default and the pull-up is not strictly required for normal operation, NXP recommends adding the 100 kΩ pull-up when Boundary-Scan support is required. The EVK also populates this resistor to ensure a defined WDOG_B level during BSDL testing and avoid potential reset issues when WDOG_B is floating in Boundary-Scan mode.
View full article
使用 imx95 启动相机 大家好, 我正在使用 imx95 SVS 设置 imx95[SOC] + MX95MBDES01[MAX96724] ===> {mx95mbcam[0x03C10+MAX96717F]+mx95mbcam[0x03C10+MAX96717F]+mx95mbcam[0x03C10+MAX96717F]+custom_cam[0x03H10+MAX96717]} 所以基本上,整个设置与 SVS 相同,只是将 cam3 更换为自定义摄像头模块 [0x03H10+MAX96717]。 我正在进行驱动程序修改,但遇到了 GMSL 连接锁定的问题。 我的自定义相机模块采用以下配置运行: I2C 地址:0x84;晶振配置 同轴像素模式,6Gbps 我只能看到 cam0-3: root@imx95-19x19-lpddr5-evk:~# i2cdetect -l i2c-1 i2c 44350000.i2c I2C 适配器 i2c-2 i2c 42530000.i2c I2C 适配器 i2c-3 i2c 42540000.i2c I2C 适配器 i2c-4 i2c 426b0000.i2c I2C 适配器 i2c-5 i2c 426c0000.i2c I2C 适配器 i2c-6 i2c 426d0000.i2c I2C 适配器 i2c-8 i2c i2c-2-mux(通道 ID 0)I2C 适配器 i2c-9 i2c i2c-2-mux(通道 ID 1)I2C 适配器 i2c-10 i2c i2c-2-mux(通道 ID 2)I2C 适配器 请提出解决方案。 Re: Camera bring-up with imx95 原先的配置有4个摄像头模块,芯片是MAX96724。现在你把其中一个模块cam3换成了自定义摄像头模块MAX96717,然后就找不到它了。这个模块的chan_id是3,对吗? Re: Camera bring-up with imx95 我通过运行正确的SerDes配置解决了这个问题。 现在摄像头已经架好,但是拍摄到的视频画面白色过多。 如何进行图像调整? 附上视频供参考。 Re: Camera bring-up with imx95 是的,没错 Re: Camera bring-up with imx95 我得到了输出图像。如何进行图像调优? 附件是我使用的图片和数据。 Re: Camera bring-up with imx95 如何生成调优 bin 文件? Re: Camera bring-up with imx95 首先检查:ISP 是否真的在使用? 运行: libcamera-hello --list-cameras 或 media-ctl -p 并验证数据流是否正常传输: 传感器 -> ISI -> 互联网服务提供商 -> libcamera 如果绕过网络服务提供商 (ISP) 直接显示原始数据,图像质量会非常差。i.MX95 相机子系统设计用于 RAW Bayer 传感器的 ISP。 常见原因一:拜耳模式错误 您更换了SVS传感器: OX03C10 其中: OX03H10 首先需要核实的事情之一是: BGGR RGGB 格林-巴利红 GBRG 如果驱动程序中配置的拜耳阵列顺序与传感器输出格式不同,图像通常会出现以下情况: 极亮 颜色错误 粉红色/洋红色调 绿色色调 检查传感器模式表和 DT 端点配置。 常见原因之二:暴露量过高 尝试手动强制曝光。 例如: v4l2-ctl -d /dev/v4l-subdevX --all `` 检查: 接触 模拟增益 数字增益 如果曝光值固定在一个较大的值,图像将完全变成白色。 常见原因#3:AE/AWB 功能异常 i.MX95 ISP 使用校准/调谐信息和 IPA 算法来实现以下功能: 自动曝光 (AE) 自动白平衡 (AWB) 色彩校正 降噪 伽马 相机移植指南指出,必须为新传感器创建特定于该传感器的配置和校准数据库。 如果您只是复制了 OX03C10 驱动程序并更改了传感器 ID,则 ISP 可能仍然加载 OX03C10 调谐参数,而这些参数对于 OX03H10 是不正确的。 常见原因 4:错误的桌面排版/校准数据库 对于 i.MX95,调谐参数存储在传感器特定的数据库文件中: database_ _ _ _ .bin 移植指南指出,必须为新传感器创建专用校准文件,并通过 IPA 配置进行安装。 未进行适当校准: 暴露情况可能不稳定 白平衡可能会出错 颜色可能不准确 图像可能显得模糊不清 Re: Camera bring-up with imx95 清除摄像头正面灰尘;调整背景光,使图像更清晰;调整亮度和对比度并检查效果;检查线缆连接,使连接处牢固。 顺便一提, MAX96717F 和 MAX96717 在串行器/解串器配置方面可能存在一些参数差异。
View full article
AutosarプログラムでOsIf_GetCounterを呼び出すとE_OS_CALLEVEL チームの皆さん、こんにちは。 私たちは NXP S32K588 をAUTOSARベースのプログラムで使用しており、 ETAS OS と EB MCALを組み合わせています。 いくつかのMCALコンポーネントは、タイムアウト方法を以下のいずれかに設定できるタイムアウト機構を提供しています: OSIF_COUNTER_SYSTEM OSIF_COUNTER_DUMMY タイムアウト方法が OSIF_COUNTER_SYSTEMに設定されている場合、影響を受けるドライバーは初期化シーケンス中にOsIf_GetCounter()を通じてOSIFカウンターにアクセスしようとします。 これらのドライバー初期化関数は EcuM_Init()から呼び出されるため、AUTOSAR OSは以下の方法でエラーを報告します: エラーフック => E_OS_CALLEVEL 私たちの理解では、これはAUTOSAR OSカウンターAPIは タスク や ISRなどの有効なOSコンテキストからのみアクセスが許可されているのに対し、EcuM_Init()はOSスケジューラが起動する前に実行されるためです。 この状況に対処するための推奨されるアプローチについてアドバイスをいただけますか?具体的には: OS起動前のMCALタイムアウト処理に関して、推奨される設定はありますか? EcuM_Init()から初期化されたドライバーにはOSIF_COUNTER_DUMMYを使うべきでしょうか? プリOSフェーズ中にタイムアウト機能を安全に有効にするための、ETAS OS、EB MCAL、またはNXP固有のガイドラインや回避策はありますか? Re: Invokation of OsIf_GetCounter in Autosar program causes E_OS_CALLEVEL こんにちは、 ありがとうございます。SW/RTDチームに追加のフィードバックがあれば聞いてみます。 BR、ペトル Re: Invokation of OsIf_GetCounter in Autosar program causes E_OS_CALLEVEL こんにちは、 あなたの分析は正しいようです。OSIF_COUNTER_SYSTEMで設定されたドライバがOS起動前にEcuM_Init()から初期化されている場合、AUTOSAR OSの実装によってOsIf_GetCounter E_OS_CALLEVELが発生することがあります。 OS起動前の段階で初期化されるモジュールの場合、一般的な回避策は、OSベースのタイミングサービスの使用を避け、代わりにOSIF_COUNTER_DUMMY(または別のOS以外のタイミングソース)を使用することです。 具体的な推奨事項は、ETAS OSの実装方法や使用しているMCAL/RTDのバージョンによっても異なる場合があります。さらなる検証のためにS32DSとRTD(またはMCAL)バージョンを共有していただけませんか? BR、ペトル Re: Invokation of OsIf_GetCounter in Autosar program causes E_OS_CALLEVEL こんにちは、 RTDチームからのフィードバックは以下をご覧ください。 BR、ペトル このタイムアウト構成(OSIF_COUNTER_SYSTEM / OSIF_COUNTER_DUMMY)はNXPベンダー固有のものであり、AUTOSAR標準自体で定義されていません。 E_OS_CALLEVELエラーの根本原因は、OSIF_COUNTER_SYSTEMが内部的にOSカウンタAPIを呼び出すことですが、これらのAPIはStartOS()が呼び出された後にのみ有効になります。EcuM_Init()はStartOS()より先に実行されるため、この段階でOSのAPIを呼び出すことはAUTOSAR OSの呼び出しレベルルールに違反します。 推奨される解決策: EcuM_Init()(OSフェーズ前)から初期化されたすべてのMCALドライバーについては、タイムアウトメソッドを次のように設定してください。 OSIFカウンタータイプ: OSIF_COUNTER_DUMMY TimeoutValue: EB MCAL構成で定義されているデフォルト値を使用します。 OSIF_COUNTER_DUMMYはOS APIを呼び出さず、OS以前のコンテキストで安全に使用できます。
View full article
SJA1110 Qbv AdminBaseTime 設定 NXPメンバーの皆様へ 私はT32G-VNP-RDB3ボード上のSJA1110スイッチの設定に取り組んでおり、PTPやQbvなどのTSN機能を有効にするための作業を行っています。 スイッチの設定、更新されたsja1110_uc.binファイルを生成し、S32GボードにデプロイするためにS32 Design StudioのSJA1110 SDKを使っています。 ほとんどの 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、粒度は200ナ秒です。 1サイクルは500μsで、3つのセグメントから構成されます。 最初の区間では、TC7を除くすべての交通区分が開放されています。継続時間は100μsです(TRIGGER_TIME = 500)。 第2区間では、交通区分7のみが通行可能で、その他の交通区分は閉鎖されています。300マイクロ秒続きます(TRIGGER_TIME = 1500)。 第3区間では、TC7を除くすべての交通区分が開放されています。持続時間は100μsです(TRIGGER_TIME = 500)。 しかし同じネットワーク内には、500μsのQbvサイクルで異なるセグメント間隔を持つ別のTSNスイッチが存在します。 TSNスイッチ間で同期し、gPTPの時間エポックと一致させるために、ADMINBASETIMEをどのように計算すればよいのでしょうか? ご支援ありがとうございます! Re: SJA1110 Qbv AdminBaseTime Configuration こんにちは、 @GuilhermeS32G さん、 はい、ADMINBASETIMEの設定は理想的には実行時にプログラム的に設定し、すべてのスイッチのQbvが同期されるようにすべきです。 SJA1110の静的構成を作成する際は、ADMINBASETIME = 0 に設定することをお勧めします。 ADMINBASETIMEは、gPTP同期が確立された後、実行時に動的に設定する必要があります。そのCASE、ホストアプリケーション、TSNマネジメントスタック、CNCまたはその他のカスタム設定ソフトウェアが現在の同期時間を読み取り、十分な余裕を持ってFUTUREの基準時刻を選択し、Qbvの管理パラメータを(動的再構成で)書き込み、設定変更をトリガーします。 固定のADMINBASETIMEを有効にするためだけに、起動のたびにgPTPの時刻をリセットすることはお勧めしません。 よろしくお願いいたします。 パベル Re: SJA1110 Qbv AdminBaseTime Configuration こんにちは、 @PavelL さん。 改めてサポートありがとうございます。 私の理解では、このADMINBASETIME設定は理想的にはランタイム中にプログラム的に設定し、Qbvスケジュールが将来的に行われるようにすべきです。 私の場合、SJA1110スイッチがSDL Bootで起動しているので、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は、CNCがTSN構成を計算しネットワーク機器に配布する集中型TSN構成モデルを記述しています。 https://www.ieee802.org/1/files/public/docs2017/cc-Kehrer-StartOfCycleReference-0117-v01.pdf 一般的な手順は次のようになります。 1. gPTP / 802.1ASを開始し、関連するすべてのTSNデバイスが同期されるまで待ちます。 2. デバイス/PTPタイムドメインから現在の同期時刻を読み取ります。 3. 将来の基準時間を選択する:ADMINBASETIME = current_gPTP_time + safety_margin セーフティマージンは、選択した基準時間に達する前にすべてのスイッチやポートに設定を書き込める十分な大きさであるべきです。 4. 同じQbvサイクルフェーズを共有するすべてのスイッチ/ポートに対して、同じADMINBASETIMEと同じサイクルタイムをプログラムすること。 5. 必要なスケジュールに従って、ポートごとのGCLエントリをプログラムします。 gPTP時間エポックへのアライメントが必要な場合は、選択した基準時刻をサイクル境界にもアライメントさせることができます。例: ADMINBASETIME = ceil((current_gPTP_time + safety_margin) / cycle_time) * cycle_time これはLinux taprioで使われている一般的な考え方と同じです。ベースタイムはスケジュールの開始時刻を定義し、基準時刻がすでに過去にある場合、アクティブ開始時間は整数サイクル時間を足して、得られる開始時刻が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 SJA1110の場合、最終的なADMINBASETIME値は、SJA1110 Qbv構成で想定される時間形式に従ってエンコードされ、その後、以下のように分割されます。 ADMINBASETIME[31:0] = 下位32ビット ADMINBASETIME[63:32] = 上位32ビット まとめると、gPTPは共通時間を提供します。別のソフトウェア/設定レイヤーは、その時間に対してQbv ADMINBASETIMEを選択し、プログラムしなければなりません。これはTSNマネジメントスタックやCNCによって行われる場合もあれば、よりシンプルな組み込みシステムにおけるカスタムアプリケーションコードによって行われます。 よろしくお願いいたします。 パベル
View full article
PIN configuration for ISP mode Hi, In LPC55S1x/LPC551x datesheet, it says: Function # 0 PIO1_2 — General-purpose digital input/output pin. Remark: In ISP mode, this pin is set to the High Speed SPI SCK function (Flexcomm 8). Does it mean Function # need to be set to 0 to make this pin work as High Speed SPI SCK function in ISP mode? If yes, how to set Function # for ISP mode? Can I set different Function # for ISP mode and non-ISP mode? Regards, Winston LPC55xx Re: PIN configuration for ISP mode Hello @yangao  I have already replied to this question in another customer case. Please feel free to contact us if you have any further questions. BR Alice
View full article
Does the S32K566 MCAL support CANXL? Is there a demo? Does the S32K566 MCAL support CANXL? Is there a demo? Re: S32K566 MCAL支持canxl吗?有demo吗 Hi@ leonchan2 Are you referring to selecting the CANXL component in MCAL within S32 DS? If that's the case, no, what I see is that it can only be configured in the Driver. In EB Tresos, CANXL can be configured, and I see a demo working in loop-back mode provided in S32 DS. The S32K5 is not yet on the mass market. You can contact your dealer or FAE for more details.
View full article
S32N55 HSE2 CRS 功能域身份验证未完成 你好, 我们正在 S32N55 上实现基于 HSE2 的安全调试,使用 SDC-600 调试认证流程(质询/响应、APP 模式、AES-256-CMAC),由 T32 CMM 主机脚本通过调试端口与 SDC-600 通信驱动。 **地位** - **FSS 功能域**:安全调试身份验证成功完成。调试目标“0x1A”(FSS)在质询/响应交换后返回“AUTHSTATUS = 0xBBB”,确认功能域已解锁。 - **CRS 域**:身份验证未完成。我们使用调试目标“0x1B”进行 CRS(假设如此,待 HSE2 固件参考手册确认——见下文问题 1)。 **CRS 的观察行为** 1. SDC-600 COMM_START 和 SoC 信息交换正常完成。 2. 向目标“0x1B”发出 AUTH_MODE_REQ 请求,返回“AUTH_MODE = 0x0”(基于挑战),符合预期。 3. APP_CHALLENGE 请求完成;从固件收到 32 字节的挑战。 4. 我们使用 ADKP 对挑战进行 AES-256-CMAC 加密,计算响应,并发送 16 字节的 `appChallengeAuth` 响应。本次传输顺利完成,未出现传输级错误。 5. **此时,固件不会发送 `RxRESULT`。**主机脚本在等待 `rx_response_from_fw` 中的响应时停滞不前——没有 `0xF2`(失败)也没有 ACK 模式,根本没有回复。这与正常故障不同;看起来防火墙根本没有达到生成此请求响应的阶段。 **我们目前的假设** 在 FSS 端,我们调用一次 `Sherpa_Cdd_SetOwnerDebugKeyMap()` 将 OTP ADKP 注册为所有者授权/认证密钥 (`HSE_SRV_ID_DEBUG_KEY_MAPPING`)。我们怀疑此映射仅在调用恰好被分派到的 MU 通道的上下文中应用,并且对 CRS 端 HSE2 实例不可见——这可以解释为什么 CRS 的 CARD_REQUEST 会停滞而不是返回明确的失败。 **问题** 1. 在 `AUTH_MODE_REQ` 和 `CARD_REQUEST` 中,CRS 功能域的正确调试目标/功能域 ID 值是什么?我们目前假设的值为 `0x1B`;请确认或更正。 2. 是否需要按功能域/按 MU 发出 `Sherpa_Cdd_SetOwnerDebugKeyMap()` (`HSE_SRV_ID_DEBUG_KEY_MAPPING`),还是 FSS 和 CRS 之间共享一个全局映射?如果是按功能域计费,如何为该服务选择目标用户单元/所有者? 3. `SetOwnerDebugKeyMap` 是否需要在每次启动时调用,还是映射一旦设置就永久有效(例如,与 OTP/NVM 状态相关),所以只需要调用一次? 4. `CARD_REQUEST` 中 CRS 域的预期 OID 值是什么?我们目前发送的是全部为 `0xFF`(16 字节),这与 FSS 的工作原理相同。 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 陈银
View full article
imx95を使用したカメラの起動 こんにちは、皆さん。 私はimx95 SVSセットアップを使用しています imx95[SOC] + MX95MBDES01[MAX96724] ===> {mx95mbcam[0x03C10+MAX96717F]+mx95mbcam[0x03C10+MAX96717F]+mx95mbcam[0x03C10+MAX96717F]+custom_cam[0x03H10+MAX96717]} つまり、セットアップはSVSと同じですが、Cam3をカスタムカメラモジュール[0x03H10+MAX96717]に変更しただけです。 ドライバの改造を行っていますが、GMSLのリンクロックに問題が発生しています。 私のカスタムカメラモジュールは、以下の構成で動作します。 I2Cアドレス: 0x84;Xtal構成 同軸ピクセルモード、6Gbps カメラ0-3しか見えません: root@imx95-19x19-LPDDR5-EVK:~# i2cDetect -L i2c-1 i2c 44350000.i2c I2C アダプター i2c-2 i2c 42530000.i2c I2C アダプター i2c-3 i2c 42540000.i2c I2C アダプター i2C-4 i2C 426b0000.i2c I2C アダプター i2C-5 i2C 426C0000.i2C I2C アダプター i2C-6 i2C 426d0000.i2c I2C アダプター i2C-8 i2c i2C-2-MUX(chan_id 0) I2C アダプター i2C-9 i2c i2C-2-MUX(chan_id 1) I2C アダプター i2C-10 i2c i2c-2-MUX(chan_id 2) I2C アダプター 解決策を提案してください。 Re: Camera bring-up with imx95 元のセットアップでは4つのカメラモジュールとMAX96724があり、今はそのうちの1つをカスタムカメラモジュールMAX96717で変更しても見つかりません。モジュールはchan_id 3ですよね? Re: Camera bring-up with imx95 はい、その通りです Re: Camera bring-up with imx95 正しいSerDes設定を実行することで、この問題を解決できました。 カメラは起動しているのですが、映像データが白飛びしすぎてしまいます。 イメージ調整はどうすればいいですか? 参考までに動画を添付しました。 Re: Camera bring-up with imx95 出力として画像を取得しました。画像調整はどのように行うのですか? 使用した画像とデータを添付しました。 Re: Camera bring-up with imx95 まず最初に確認すべきこと:インターネットサービスプロバイダ(ISP)は実際に使用されていますか? 次を実行します。 libcamera-hello --list-cameras または media-ctl -p そして、ストリームが正しく流れていることを確認します。 センサ -> ISI -> ISP -> libcamera ISPを迂回してRAWデータを直接表示すると、画質は非常に悪く見えます。i.MX95カメラサブシステムは、RAWのバイエルセンサー用にISPを使用するよう設計されています。 よくある原因その1:バイエルパターンの間違い SVSセンサーを交換しましたね: OX03C10 説明: OX03H10 まず最初に確認すべきことの一つは、次のとおりです。 BGGR RGGB GRBG GBRG ドライバーで設定されたバイエルオーダーがセンサー出力フォーマットと異なる場合、画像はしばしば以下のように表示されます。 非常に明るい 間違った色 ピンク/マゼンタの色合い 緑がかった色合い センサーモードテーブルとDTエンドポイントの設定を確認してください。 よくある原因その2:被ばく量が多すぎる 露出を手動で強制的に調整してみてください。 例: v4l2-ctl -d /dev/v4l-subdevX --all 「 確認: 暴露 アナログゲイン デジタルゲイン 露出を大きな値に固定すると、画像は完全に白くなります。 よくある原因その3:AE/AWBが機能しない i.MX95 ISPは、以下の目的でキャリブレーション/チューニング情報とIPAアルゴリズムを使用します。 AE (車載露出) AWB(オートホワイトバランス) 色補正 ノイズ除去 ガンマ カメラポーティングガイドには、新しいセンサ向けにセンサ固有の構成とキャリブレーションデータベースを作成する必要があると記載されています。 もし単にOX03C10ドライバーをコピーしてセンサーIDを変更しただけでも、ISPがチューニングパラメータOX03C10読み込んでいる可能性があり、それがOX03H10に合わない可能性があります。 よくある原因その4:DTP/キャリブレーションデータベースの誤り i.MX95の場合、チューニングパラメータはセンサ固有のデータベースファイルに格納されています: database_ _ _ _.bin ポーティングガイドには、新しいセンサ用に専用のキャリブレーションファイルを作成し、IPA構成を通じてインストールする必要があると記載されています。 適切な校正が行われていない場合: 曝露は不安定になることがあります ホワイトバランスが間違っていることもあります 色は正確でないこともあります 画像が色褪せて見える場合があります Re: Camera bring-up with imx95 チューニング用のバイナリファイルを生成するにはどうすればいいですか? Re: Camera bring-up with imx95 カメラ前面の埃を取り除き、背景光を調整して画像をより鮮明にします。明るさとコントラストを調整して結果を確認します。ケーブルの接続を調整して接続部を頑丈にします。 ちなみに、 MAX96717FとMAX96717は、serdes構成に関してパラメータに若干の違いがある可能性があります。
View full article
ISPモードのPIN設定 こんにちは、 LPC55S1x/LPC551xのデータシートには、次のように記載されています。 機能番号0 PIO1_2 — 汎用デジタル入出力ピン。 注記:ISPモードでは、このピンは高速に設定されます。 SPI SCK機能(Flexcomm 8)。 このピンを高速として動作させるには、機能番号を0に設定する必要があるということですか? ISPモードでのSPI SCK機能?はいの場合、ISPモードのファンクション番号はどのように設定すればよいですか?ISPモードと非ISPモードでFunction #を別々に設定できますか? よろしくお願いいたします。 ウィンストン LPC55xx Re: PIN configuration for ISP mode こんにちは@yangao 別の顧客のCASEでこの質問にはすでに回答しています。ご質問があれば、どうぞお気軽にお問い合わせください。 BR アリス
View full article
在 Autosar 程序中调用 OsIf_GetCounter 会导致 E_OS_CALLEVEL 错误 大家好, 我们在基于 AUTOSAR 的程序中使用NXP S32K588 ,搭配ETAS OS和EB MCAL 。 多个 MCAL 元器件提供超时机制,超时方法可以配置为以下两种方式之一: OSIF_COUNTER_SYSTEM OSIF_COUNTER_DUMMY 当超时方法配置为OSIF_COUNTER_SYSTEM时,受影响的驱动程序会在其初始化序列期间尝试通过 OsIf_GetCounter() 访问 OSIF 计数器。 由于这些驱动程序初始化函数是从EcuM_Init()调用的,因此 AUTOSAR 操作系统会通过以下方式报告错误: ErrorHook => E_OS_CALLEVEL 我们理解,这是因为 AUTOSAR OS 计数器 API 只允许从有效的操作系统上下文(例如Tasks或ISR)中访问,而 EcuM_Init() 在操作系统调度程序启动之前执行。 请问处理这种情况的推荐方法是什么?具体来说: 在操作系统初始化之前,对于 MCAL 超时处理是否有推荐的配置? 对于通过 EcuM_Init() 初始化的驱动程序,是否应该使用 OSIF_COUNTER_DUMMY? 是否有针对 ETAS OS、EB MCAL 或 NXP 的特定指南/变通方法,以便在预操作系统阶段安全地启用超时功能? Re: Invokation of OsIf_GetCounter in Autosar program causes E_OS_CALLEVEL 您好, 谢谢,我会问问SW/RTD团队是否还有其他反馈意见。 BR,彼得 Re: Invokation of OsIf_GetCounter in Autosar program causes E_OS_CALLEVEL 你好, 你的分析似乎是正确的。如果在操作系统启动之前,从 EcuM_Init() 初始化配置了 OSIF_COUNTER_SYSTEM 的驱动程序,则根据 AUTOSAR 操作系统的实现,对 OsIf_GetCounter() 的调用可能会导致 E_OS_CALLEVEL。 对于在操作系统启动前阶段初始化的模块,常见的解决方法是避免使用基于操作系统的计时服务,而改用 OSIF_COUNTER_DUMMY(或其他非操作系统计时源)。 具体建议可能还取决于 ETAS OS 的实现方式以及所使用的 MCAL/RTD 版本。能否请您提供 S32DS 和 RTD(或 MCAL)版本以便我们进一步核实? BR,彼得 Re: Invokation of OsIf_GetCounter in Autosar program causes E_OS_CALLEVEL 您好, 以下是RTD团队的反馈…… BR,彼得 此超时配置(OSIF_COUNTER_SYSTEM / OSIF_COUNTER_DUMMY)是 NXP 厂商特有的,并非由 AUTOSAR 标准本身定义。 E_OS_CALLEVEL 错误的根本原因是 OSIF_COUNTER_SYSTEM 内部调用了操作系统计数器 API,而这些 API 只有在调用 StartOS() 之后才有效。由于 EcuM_Init() 在 StartOS() 之前执行,因此在此阶段调用 OS API 违反了 AUTOSAR OS 调用级别规则。 推荐解决方案: 对于所有通过 EcuM_Init()(操作系统启动前阶段)初始化的 MCAL 驱动程序,请将超时方法配置为: OSIF 计数器类型:OSIF_COUNTER_DUMMY TimeoutValue:使用 EB MCAL 配置中定义的默认值 OSIF_COUNTER_DUMMY 不调用任何操作系统 API,在操作系统启动前的环境中使用是安全的。
View full article
Invokation of OsIf_GetCounter in Autosar program causes E_OS_CALLEVEL Hi Team, We are using the NXP S32K588 in an AUTOSAR-based program, with ETAS OS and EB MCAL. Several MCAL components provide a timeout mechanism where the timeout method can be configured as either: OSIF_COUNTER_SYSTEM OSIF_COUNTER_DUMMY When the timeout method is configured as OSIF_COUNTER_SYSTEM, the affected drivers attempt to access OSIF counters through OsIf_GetCounter() during their initialization sequence. Since these driver initialization functions are called from EcuM_Init(), the AUTOSAR OS reports an error via: ErrorHook => E_OS_CALLEVEL Our understanding is that this occurs because AUTOSAR OS counter APIs are only permitted to be accessed from valid OS contexts such as Tasks or ISRs, whereas EcuM_Init() executes before the OS scheduler is started. Could you please advise on the recommended approach to handle this situation? Specifically: Is there a recommended configuration for MCAL timeout handling during pre-OS initialization? Should OSIF_COUNTER_DUMMY be used for drivers initialized from EcuM_Init()? Are there any ETAS OS, EB MCAL, or NXP-specific guidelines/workarounds to enable timeout functionality safely during the pre-OS phase? Re: Invokation of OsIf_GetCounter in Autosar program causes E_OS_CALLEVEL Hi, thanks, let me ask SW/RTD team if they can provide any additional feedback. BR, Petr Re: Invokation of OsIf_GetCounter in Autosar program causes E_OS_CALLEVEL Hi,  Your analysis seems correct. If a driver configured with OSIF_COUNTER_SYSTEM is initialized from EcuM_Init() before the OS is started, calls to OsIf_GetCounter() may result in E_OS_CALLEVEL, depending on the AUTOSAR OS implementation. For modules initialized during the pre-OS phase, a common workaround is to avoid using OS-based timing services and use OSIF_COUNTER_DUMMY (or another non-OS timing source) instead. The exact recommendation may also depend on the ETAS OS implementation and the MCAL/RTD version being used. Could you please share the S32DS and RTD (or MCAL) versions for further verification? BR, Petr Re: Invokation of OsIf_GetCounter in Autosar program causes E_OS_CALLEVEL Hi, see below feedback from RTD team... BR, Petr This timeout configuration (OSIF_COUNTER_SYSTEM / OSIF_COUNTER_DUMMY) is NXP vendor-specific and is not defined by the AUTOSAR standard itself. The root cause of the E_OS_CALLEVEL error is that OSIF_COUNTER_SYSTEM internally calls OS counter APIs, which are only valid after StartOS() has been called. Since EcuM_Init() executes before StartOS(), calling OS APIs at this stage violates the AUTOSAR OS calling level rules. Recommended solution: For all MCAL drivers initialized from EcuM_Init() (pre-OS phase), please configure the timeout method as: OsIf Counter Type: OSIF_COUNTER_DUMMY TimeoutValue: use the default value as defined in the EB MCAL configuration OSIF_COUNTER_DUMMY does not invoke any OS API and is safe to use in pre-OS context
View full article
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がフローティング状態になった場合に発生する可能性のあるリセットの問題を回避するために、この抵抗器も実装します。
View full article
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.
View full article