硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3512|回复: 10
收起左侧

[STM32H7] 在H7上运行U-boot

  [复制链接]

18

主题

35

回帖

94

积分

初级会员

积分
94
发表于 2022-6-11 13:13:41 | 显示全部楼层 |阅读模式
uboot是已经适配了STM32H743i-Discovery,要在H7开发板上运行,修改起来也比较简单。
1、修改\u-boot-2021.10\u-boot-2021.10\arch\arm\dts\stm32h743i-disco.dts
memory@d0000000 {
                device_type = "memory";
                reg = <0xd0000000 0x2000000>;
        };

改:
memory@c0000000 {
                device_type = "memory";
                reg = <0xc0000000 0x2000000>;
        };



aliases {
                serial0 = &usart2;
        };

改:
aliases {
                serial0 = &usart1;
        };



&usart2 {
        pinctrl-0 = <&usart2_pins>;
        pinctrl-names = "default";
        status = "okay";
};


&usart1 {
        pinctrl-0 = <&usart1_pins>;
        pinctrl-names = "default";
        status = "okay";
};


2、修改u-boot-2021.10\u-boot-2021.10\arch\arm\dts\stm32h743i-disco-u-boot.dtsi
(1)H7开发板和STM32H743i-Discovery 使用相同的SDRAM,只是H7的sdram使用的是bank1
bank1: bank@1 改 bank1: bank@0
(2)修改SDRAM引脚
                                 <STM32_PINMUX('H', 5, AF12)>,
                                 <STM32_PINMUX('H', 6, AF12)>,
                                 <STM32_PINMUX('H', 7, AF12)>,
改:
                                 <STM32_PINMUX('H', 2, AF12)>,
                                 <STM32_PINMUX('H', 3, AF12)>,
                                 <STM32_PINMUX('H', 5, AF12)>,


3、生成的u-boot.bin 下载到0x08000000地址即可


u-boot.bin (246.01 KB, 下载次数: 13)


uboot.png

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2022-6-11 15:53:07 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

21

主题

66

回帖

129

积分

初级会员

积分
129
发表于 2022-6-11 22:14:36 | 显示全部楼层
能提供移植好的工程源码嘛?另外这个uboot能在STM32H750上用嘛?能控制在128k内嘛?
回复

使用道具 举报

18

主题

35

回帖

94

积分

初级会员

积分
94
 楼主| 发表于 2022-6-12 15:48:58 | 显示全部楼层
mojinpan 发表于 2022-6-11 22:14
能提供移植好的工程源码嘛?另外这个uboot能在STM32H750上用嘛?能控制在128k内嘛?

uboot上有h750的例子,不过uboot.bin是存放在外部的qspi-flash,需要另外写bootload跳转到qflash里运行uboot
回复

使用道具 举报

14

主题

260

回帖

302

积分

高级会员

积分
302
发表于 2022-6-13 09:07:16 | 显示全部楼层
哦豁,多谢楼主,还研究过一段时间,不过我把名称都改了,stm32h743i-disco.dts这种改成我自己的,一直没通过编译。有空再研究一下
回复

使用道具 举报

21

主题

66

回帖

129

积分

初级会员

积分
129
发表于 2022-6-14 15:08:58 | 显示全部楼层
uboot有啥用,能在h750上跑linux吗?
回复

使用道具 举报

18

主题

35

回帖

94

积分

初级会员

积分
94
 楼主| 发表于 2022-6-14 17:39:57 | 显示全部楼层
mojinpan 发表于 2022-6-14 15:08
uboot有啥用,能在h750上跑linux吗?

不行,没有mmu
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2022-6-14 17:58:14 | 显示全部楼层

可以,从Linux内核版本4.X就开始支持无MMU版本了。现在最新的5,X版本支持F4,F7,H7等单片机系列。
回复

使用道具 举报

2

主题

53

回帖

59

积分

初级会员

积分
59
发表于 2025-6-9 15:14:04 | 显示全部楼层
楼主请教下,我的输出截止到darm的容量后就没有了,是为什么?
回复

使用道具 举报

2

主题

53

回帖

59

积分

初级会员

积分
59
发表于 2025-6-13 18:07:50 | 显示全部楼层
风过不留痕 发表于 2025-6-9 15:14
楼主请教下,我的输出截止到darm的容量后就没有了,是为什么?

已完成,结帖
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2025-8-3 18:51:25 | 显示全部楼层

U-Boot 2023.07-rc6 (Aug 03 2025 - 18:39:54 +0800)

Model: STMicroelectronics STM32H743i-Discovery board
DRAM:  32 MiB
Core:  30 devices, 16 uclasses, devicetree: separate
MMC:   STM32 SD/MMC: 0
Loading Environment from nowhere... OK
In:    serial@40004400
Out:   serial@40004400
Err:   serial@40004400
Hit SPACE in 3 seconds to stop autoboot.
U-Boot > mmc part

Partition Map for MMC device 0  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type
  1     2048            2097152         09b000b2-01     0e
U-Boot > mmc part

Partition Map for MMC device 0  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type

到这卡死,楼主这是什么问题啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 02:57 , Processed in 0.046886 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表