色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HPM6750 從 XPI0 CB 端口啟動

先楫半導體HPMicro ? 2023-10-21 08:18 ? 次閱讀

1

背 景

在我的某個項目中由于希望把板子做的小一點,所以選擇了 BGA196 封裝的 HPM6750IAN2 芯片,在畫板子的過程中,注意到相比 BGA289 封裝的 HPM6750IVM2 芯片,其并沒有引出 XPI0 CA 端口的引腳,如下圖所示。所以最后選擇了 XPI0 的 CB 端口用于連接 NOR Flash。

4b73a148-6fa7-11ee-9788-92fbcf53809c.png

部分引腳復用功能(來源:HPM6750數據手冊)

4b80100e-6fa7-11ee-9788-92fbcf53809c.png

XPI 部分原理圖

2

問 題

在 HPM6750EVKMINI 評估板中使用了 XPI0 CA 端口作為連接串行 NOR Flash 的引腳(芯片的默認配置),在芯片上電啟動的過程中,芯片內部的 BootROM 會根據 OTP 配置初始化 XPI 控制器,從 Flash 0x400 的地址讀取 XPI NOR 配置選項,并按照讀取的配置選項將 XPI 配置為指定的工作模式,然后重新檢測 Flash 是否存在,從 Flash 中加載鏡像完成剩余啟動步驟。

4b9ba9fe-6fa7-11ee-9788-92fbcf53809c.png

因此為了實現從 XPI0 CB 端口啟動,我們需要修改 OTP 中的對應字段和啟動鏡像中的 XPI NOR 配置選項。

3

OTP 燒寫

通過查閱 HPM6750 的參考手冊,發現控制 BootROM 啟動時指定 Flash 連接方式的為以下幾個字段:

4ba4046e-6fa7-11ee-9788-92fbcf53809c.png4ba82878-6fa7-11ee-9788-92fbcf53809c.png

因此在本例中,需要僅需修改 XPI_PORT_SEL 字段為 1,讓 BootROM 從 CB_CS0 端口啟動即可。

將 BOOT 撥碼開關調至 BOOT_MODE[1:0]=0b10,以 ISP 模式啟動,將 USB0 連接至 PC,然后打開 HPMicro 量產工具,選擇對應的 USB 設備點擊 連接,連接成功后如下圖所示。

4bb032d4-6fa7-11ee-9788-92fbcf53809c.png

注意:
OTP 操作需謹慎?。。?/strong>
OTP 操作需謹慎?。?!
OTP 操作需謹慎?。?!
OTP 操作 ??中,點擊 刷新 讀取當前芯?中 OTP 的數據,看到 Word 24 的值為0x00000000 ,也就是從 XPI0 CA 端?的第?組引腳啟動。

4bc0cea0-6fa7-11ee-9788-92fbcf53809c.png

切換至 寫視圖,點擊 添加 Words,在彈出的對話框中按照下圖輸入,即:將 Word 24 的 bit 6 置 1,從 CB_CS0 端口啟動。點擊確定后,再次確認數據是否有誤,確認無誤后點擊 寫入。

4bc69fa6-6fa7-11ee-9788-92fbcf53809c.png

寫入完成后切換回 寫視圖,點擊 刷新,可以看到 Word 24 已經變為期望值。

4bd19aaa-6fa7-11ee-9788-92fbcf53809c.png

將撥碼開關撥回 XPI NOR 啟動后復位芯片,可使用邏輯分析儀觀察 XPI0_CB_SCLK 引腳在上電時的電平,如可以觀察到對應的時鐘信號,證明 OTP 設置已經生效。

4

修改 XPI NOR 配置選項

在 BootROM 檢測到 Flash 后,會從 0x400 讀取 XPI NOR 配置選項重新配置 XPI,為了確保 XPI 重新配置后仍能檢測到 Flash,需要對默認配置進行修改。根據參考手冊,配置選項的定義如下:

4bdc4bee-6fa7-11ee-9788-92fbcf53809c.png4be460f4-6fa7-11ee-9788-92fbcf53809c.png4bf5b69c-6fa7-11ee-9788-92fbcf53809c.png

當我們使用 CMake 配置項目,并設置 CMAKE_BUILD_TYPEflash_xip 時,生成的 SES(Segger Embedded Studio)工程會使用 flash_xip.icf 鏈接腳本,以將各個 section 鏈接至 Flash 中。可以在如下菜單中打開鏈接腳本。

4bfcaf60-6fa7-11ee-9788-92fbcf53809c.png

flash_xip.icf中,可以看到在 XPI0 的基地址偏移 0x400 處定義了存放 NOR_CFG_OPTION 的區域,對應的 section 為 .nor_cfg_option。

4c0157cc-6fa7-11ee-9788-92fbcf53809c.png4c0a9062-6fa7-11ee-9788-92fbcf53809c.png

使用快捷鍵 Ctrl+Shift+F 全局搜索 .nor_cfg_option,可以在 board.c 中找到對應的配置選項。

4c2c182c-6fa7-11ee-9788-92fbcf53809c.png

為了避免修改 SDK 中的文件,我選擇在項目文件夾下新建一個 board文件夾,并復制 hpm6750evkmini 的板級文件,重新命名為 myboard,此時項目結構如下:

├── src/

│ ├── board/

│ │ └── myboard/

│ │ ├── CMakeLists.txt

│ │ ├── board.c

│ │ ├── board.h

│ │ ├── myboard.yaml

│ │ ├── pinmux.c

│ │ └── pinmux.h

│ └── app.c

└── CMakeLists.txt

在 CMake 初始化時使用 BOARD_SEARCH_PATH 將 board 文件夾添加至搜索路徑中(需使用 SDK 1.2.0):

cmake -Bbuild -DBOARD=myboard -DBOARD_SEARCH_PATH=./src/board -GNinja -DCMAKE_BUILD_TY
PE=flash_xip

使用 SES 打開工程,可以看到 board.c 被添加到項目中。

4c30057c-6fa7-11ee-9788-92fbcf53809c.png

同樣的,在 XPI 配置選項中也要使用 XPI0 CB_CS0 端口,所以需要將 Header[3:0] 改為 2Option[11:8]改為 1。即:

__attribute__ ((section(".nor_cfg_option"))) const uint32_t option[4] = {0xfcf90002, 0
x00000007, 0x00000100, 0x0};

修改完成后重新進行編譯,得到生成的 .bin文件。

5

燒 錄

使用 HPMicro Programmer 進行燒錄前,需要將 Connection Selection改為 CB_CS0,同時為了確保后續 Flash 能切換至四線模式(Quad SPI),還需要根據使用的 Flash 設置 Quad Enable Sequence,借助 BootROM 將 Flash 的 QE 標志位置位。這里我使用的是 GD25Q40C 系列 Flash,查閱 datasheet 可知 QE 位于 Status Register 2 的 bit1,因此這里我選擇 At bit1 in Status Register2。由于 QE非易失 的,掉電后數據不會丟失,因此我們僅需在燒錄時設置一次,在 XPI NOR 配置選項中可以不用設置 Quad Enable Sequence 字段。

4c3d0678-6fa7-11ee-9788-92fbcf53809c.png4c462032-6fa7-11ee-9788-92fbcf53809c.png

Status Register 中的 QE 位

4c4e5bbc-6fa7-11ee-9788-92fbcf53809c.png

選擇編譯生成的.bin 文件后,程序會自動設置燒寫地址,隨后點擊燒錄。燒錄成功后恢復啟動模式撥碼開關,然后復位芯片,正常情況下程序就會運行了。

4c684342-6fa7-11ee-9788-92fbcf53809c.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    455

    文章

    50714

    瀏覽量

    423139
  • 控制器
    +關注

    關注

    112

    文章

    16332

    瀏覽量

    177806
  • 評估板
    +關注

    關注

    1

    文章

    537

    瀏覽量

    29304
收藏 人收藏

    評論

    相關推薦

    自己做的hpm5321和6750板子怎么都沒有1.1的輸出呢?

    新手硬件開發求分析 。 不知道是layout的關系還是什么原因呢,主要IC內部dcdc部分跟其他引腳配置沒關系吧,對比了官方開發板和野火的開發版沒什么差,難道電容規格會影響嗎? 5321原理圖,3.3上電正常,無1.1v輸出 6750原理圖,3.3上電正常,無1.1v輸出 這可怎么排查
    發表于 12-14 11:48

    如何做一個hpm6750evk2的bootloader?

    我正在做一個hpm6750evk2的bootloader。設計很簡單,boot工程代碼只做跳轉到1M后的APP工程代碼處,APP工程就是做的一個點燈的程序而已,boot、APP工程都是跑
    發表于 10-23 19:01

    HPM6750 Bootloader設計

    我正在做一個hpm6750evk2的bootloader。設計很簡單,boot工程代碼只做跳轉到1M后的APP工程代碼處,APP工程就是做的一個點燈的程序而已,boot、APP工程都是跑
    發表于 10-23 18:59

    HPM6750evkmini如何實現可信的執行環境?

    HPM6700的datasheet中的1.2.15 信息安全系統有提到“基于BOOT ROM 的安全啟動機制,支持加密啟動,支持可信的執行環境”,請問可信的執行環境如何實現的?有相關的Demo或者資料嗎?是類似于TFM這樣的嗎
    發表于 09-25 09:27

    hpm_manufacturing_tool linux 版本 選擇 hidraw 連接等待超時

    _manufacturing_tool_gui linux 版本 選擇 hidraw 連接 HPM6750 芯片,能識別到 hidraw 設備,單擊連接是提示重啟芯片這個時候會等待超時然后軟件報錯,此時查看 lsusb 設備是檢測不到 hpm6750
    發表于 08-07 16:43

    hpm6750燒錄出錯,無法停止hart 0怎么解決?

    發表于 07-25 07:24

    開發者分享 | 基于先楫RT-Thread BSP,使用CLion開發應用

    本期開發者:朱彥祖RT-Thread資深工程師,HPM6700/6400元老級開發者及骨灰級用戶,先輯生態社區常駐優秀開發者,江湖人稱杭州吳彥祖。背景最近在使用先輯HPM6750開發一款運動控制器
    的頭像 發表于 06-07 08:17 ?2800次閱讀
    開發者分享 | 基于先楫RT-Thread BSP,使用CLion開發應用

    HPM USB系列:HPM6700雙USB功能介紹

    HPM6700系列MCU提供了2個USB外設端口。這些端口內置高速PHY,支持OTG模式,主機模式支持高速、全速和低速模式,設備模式支持高速和全速模式,完全兼容USB2.0協議。這使得HPM
    的頭像 發表于 05-31 08:17 ?558次閱讀
    <b class='flag-5'>HPM</b> USB系列:<b class='flag-5'>HPM</b>6700雙USB功能介紹

    HPM USB系列:HPM6700雙USB功能介紹

    HPM6700系列MCU提供了2個USB外設端口。這些端口內置高速PHY,支持OTG模式,主機模式支持高速、全速和低速模式,設備模式支持高速和全速模式,完全兼容USB 2.0協議。
    的頭像 發表于 05-30 11:40 ?638次閱讀
    <b class='flag-5'>HPM</b> USB系列:<b class='flag-5'>HPM</b>6700雙USB功能介紹

    先楫半導體 hpm_sdk v1.5.0 正式發布

    路徑信息。 啟動GDBServer 現在可以通過start_gui直接啟動openocd gdbserver 已知問題 IAR Embedded Workbench相關: 可以IAR官網購買或者下載
    發表于 04-08 11:14

    RTThread的定時器中斷時間不準確,會有us級的抖動的原因?

    我在用hpm6750定時器,通過定時器中斷周期處理函數,周期1ms,但是定時器的每周期時間都會飄,會有us級的抖動,我的中斷回調函數如下: int us_temp[1000]; int us_idx
    發表于 02-23 07:09

    HPM6750體驗ADC

    1、新建RTT工程,工程中添加對ADC的驅動: 2、保存工程后,添加測試代碼。 3、我們根據原理圖上的J10接個,只有PE29是ADC3的輸出通道 4、先定義通道、任務 #define ADC_DEV_NAME\"adc3\"/* ADC 設備名稱 */ #define ADC_DEV_CHANNEL2/* ADC 通道 */ #define REFER_VOLTAGE 330/* 參考電壓 3.3V,數據精度乘以100保留2位小數*/ #define CONVERT_BITS(1 << 16)/* 轉換位數為16位 */ 5、添加任務: static void Adc_entry(void* paremeter) { rt_adc_device_t adc_dev; rt_uint32_t value,vol; rt_err_t ret = RT_EOK; adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME); if (adc_dev == RT_NULL) { rt_kprintf(\"adc sample run failed! can\'t find %s device!\\\\n\", ADC_DEV_NAME); } /* 使能設備 */ ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL); if(ret == RT_EOK) { rt_kprintf(\"adc sample run success!find %s device!\\\\n\", ADC_DEV_NAME); } while(1) { /* 讀取采樣值 */ value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL); rt_kprintf(\"the value is :%d \\\\n\", value); /* 轉換為對應電壓值 */ vol = value * REFER_VOLTAGE / CONVERT_BITS; rt_kprintf(\"the voltage is :%d.%02d \\\\n\", vol / 100, vol % 100); rt_thread_delay(500); } } 7、在主函數里啟用任務 Adc_thread = rt_thread_create(\"adc1\", Adc_entry, RT_NULL, 512, 16, 20); if(Adc_thread != RT_NULL) rt_thread_startup(Adc_thread); else return -1;
    發表于 02-17 16:00

    解決HPM6750EVK2jlink下載

    Device \"HPM6750XVMX\" selected. Connecting to target via JTAG TotalIRLen = 5, IRPrint = 0
    發表于 02-16 10:30

    先輯HPM6570用Jlink下載程序出錯

    as current target interface. J-Link>jtagconf -1 -1 J-Link>exec device=HPM6750xVMx Device
    發表于 02-16 09:32

    Embedded Studio 編譯器教程

    最近入手先輯的HPM6750,需要使用Embedded Studio 編譯器來做開發,各位推薦一下學習資料。
    發表于 02-04 08:01
    主站蜘蛛池模板: 美女被j进去动态| 不卡的在线AV网站| 亚洲精品成A人在线观看| 日韩a在线看免费观看视频| 榴莲黄版无限刷| 久久三级网站| 久久热免费观看视频| 偷偷鲁手机在线播放AV| 欧美videqsdesex0| 欧美videos人牛交| 日本高清加勒比| 日本中文字幕巨大的乳专区| 青青青草国产| 日本又黄又裸一级大黄裸片| 日产精品高潮呻吟AV久久| 日韩欧美成人免费中文字幕| 三级网址在线观看| 少妇邻居内射在线| 小泽玛丽av无码观看| 亚洲haose在线观看| 亚洲精品美女久久777777| 亚洲三级大片| 最近中文字幕2019免费版| 99福利影院| 荡公乱妇HD中文字幕| 国产第一页在线视频| 国产在线精品亚洲一品区| 精品一品国产午夜福利视频| 久久香蕉国产线看观看| 欧美极限扩肛| 手机在线观看你懂的| 亚洲人精品午夜射精日韩| 中文字幕AV亚洲精品影视| 99久视频只有精品2019| 观赏女性排尿| 鸡鸡插屁股| 免费精品一区二区三区在线观看 | 999www成人免费视频| 补课H湿 1V1 PLAY| 果冻传媒独家原创在线观看| 李亚男三级|