为了方便调试通用代码,u-boot支持以应用程序方式运行,称为sandbox模式。
下面是在幽兰代码本上试验的基本步骤如下:
先下载主线代码:
git clone https://github.com/u-boot/u-boot.git安装依赖软件库
sudo apt-get install libgnutls28-dev
sudo apt-get install efitools
sudo apt install libsdl2-dev产生config
make sandbox_defconfig构建
make all
顺利的话便会产生linux应用程序,名为u-boot
简单运行
./u-boot带设备树,模拟终端界面运行
./u-boot -d u-boot.dtb -l以gdb调试
gdb –args ./u-boot -d u-boot.dtb -l
默认的看门狗时间太短,很容易溢出,可以修改下面这行代码将其禁止:
static int alarm_wdt_start(struct udevice *dev, u64 timeout, ulong flags)
{
struct alarm_wdt_priv *priv = dev_get_priv(dev);
unsigned int sec;
timeout = DIV_ROUND_UP(timeout, 1000);
sec = min_t(u64, UINT_MAX, timeout);
* priv->timeout_sec = sec100000; // effectively disable it by Raymond**
作者:Zhang Yinkui 创建时间:2025-01-26 15:09
最后编辑:Zhang Yinkui 更新时间:2025-03-06 14:11
最后编辑:Zhang Yinkui 更新时间:2025-03-06 14:11