记录ok6410 jlink 命令行调试uboot

1\启动ok6410 进入uboot命令行

2\启动JLinkGDBServer -device ARM11

3\arm-none-eabi-gdb u-boot

初始化脚本

# Connect to the J-Link GDBServer
target remote localhost:2331
# Set JTAG speed to 30 kHz
monitor endian little
monitor speed 30
# Reset the target
monitor reset
monitor sleep 10
#
# CPU core initialization
#
# Set the processor to service mode
monitor reg cpsr = 0xd3
# Config MMU
# Flush v3/v4 cache
monitor cp15 7, 7, 0, 0 = 0x0
monitor cp15 8, 7, 0, 0 = 0x0
# Disable MMU stuff and caches
monitor cp15 1, 0, 0, 0 =0x1002
# Peri port setup
monitor cp15 15, 2, 0, 4 = 0x70000013
# Disable watchdog
monitor MemU32 0x7e004000 = 0x00000000
monitor sleep 10
# Disable interrupt
monitor MemU32 0x71200014 = 0xffffffff
monitor MemU32 0x71300014 = 0xffffffff
monitor MemU32 0x7120000C = 0x00000000
monitor MemU32 0x7130000C = 0x00000000
monitor MemU32 0x71200F00 = 0x00000000
monitor MemU32 0x71300F00 = 0x00000000
# Set clock
monitor MemU32 0x7e00f900 = 0x000080de
monitor MemU32 0x7e00f000 = 0x0000ffff
monitor MemU32 0x7e00f004 = 0x0000ffff
monitor MemU32 0x7e00f008 = 0x0000ffff
monitor MemU32 0x7e00f028 = 0x00300000
monitor MemU32 0x7e00f020 = 0x01043310
monitor MemU32 0x7e00f00C = 0x810a0301
monitor MemU32 0x7e00f010 = 0x810a0301
monitor MemU32 0x7e00f014 = 0x80200102
monitor MemU32 0x7e00f018 = 0x00000000
monitor MemU32 0x7e00f01c = 0x00000007
monitor sleep 1
# UART Init
monitor MemU32 0x7f008000 = 0x00220022
monitor memU32 0x7f008020 = 0x00002222
monitor memU32 0x7f005008 = 0x00000000
monitor memU32 0x7f00500c = 0x00000000
monitor memU32 0x7f005000 = 0x00000003
monitor memU32 0x7f005004 = 0x00000e45
monitor memU32 0x7f005028 = 0x00000033
monitor memU32 0x7f00502c = 0x0000dfdd
monitor memU32 0x7f005020 = 0x4f4f4f4f
monitor memU32 0x7f005020 = 0x4b4b4b4b

# Config Mobile DDR SDRAM
monitor MemU32 0x7e00f120 = 0x0000000d
monitor MemU32 0x7e001004 = 0x00000004
monitor MemU32 0x7e001010 = 0x0000040f
monitor MemU32 0x7e001014 = 0x00000006
monitor MemU32 0x7e001018 = 0x00000001
monitor MemU32 0x7e00101c = 0x00000002
monitor MemU32 0x7e001020 = 0x00000006
monitor MemU32 0x7e001024 = 0x0000000a
monitor MemU32 0x7e001028 = 0x0000000c
monitor MemU32 0x7e00102c = 0x0000010b
monitor MemU32 0x7e001030 = 0x0000000c
monitor MemU32 0x7e001034 = 0x00000002
monitor MemU32 0x7e001038 = 0x00000002
monitor MemU32 0x7e00103c = 0x00000002
monitor MemU32 0x7e001040 = 0x00000002
monitor MemU32 0x7e001044 = 0x00000010
monitor MemU32 0x7e001048 = 0x00000010
monitor MemU32 0x7e00100C = 0x0001001a
monitor MemU32 0x7e00104C = 0x00000b45
monitor MemU32 0x7e001200 = 0x000150f0
monitor MemU32 0x7e001304 = 0x00000000
monitor MemU32 0x7e001008 = 0x000c0000
monitor MemU32 0x7e001008 = 0x00000000
monitor MemU32 0x7e001008 = 0x00040000
monitor MemU32 0x7e001008 = 0x00040000
monitor MemU32 0x7e001008 = 0x000a0000
monitor MemU32 0x7e001008 = 0x00080032
monitor MemU32 0x7e001004 = 0x00000000
# Setup GDB for faster downloads
#set remote memory-write-packet-size 1024
set remote memory-write-packet-size 4096
set remote memory-write-packet-size fixed

 

然后下面单行输入

monitor speed 6000

b start_armboot

load

continue

上电之后第一次可能无法进入断点,然后退出arm-none-eabi-gdb,重新进入arm-none-eabi-gdb 重新初始化

转载于:https://www.cnblogs.com/eastgeneral/p/10719731.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Jlink命令行脚本是指在命令行中使用Jlink工具执行某些命令的一组指令。Jlink是一个用于与Java虚拟机(JVM)进行交互的命令行工具,在开发和调试Java应用程序时非常有用。 使用Jlink命令行脚本,可以执行各种操作,例如创建自定义的运行时映像,生成模块化的JRE,创建不同配置的JVM等。下面是一个简单的示例: 1. 首先,我需要在命令行中运行jlink命令。假设我的Jlink工具路径是/opt/jdk/bin/jlink,我的Java模块路径是/myproject/modules。 2. 接下来,我可以使用以下命令创建一个自定义的运行时映像: ```shell /opt/jdk/bin/jlink --module-path /myproject/modules --add-modules com.example.module --output /myproject/myimage ``` 3. 上面的命令将创建一个包含com.example.module模块的运行时映像,映像输出路径为/myproject/myimage。 4. 如果需要生成一个模块化的JRE,可以使用以下命令: ```shell /opt/jdk/bin/jlink --module-path /myproject/modules --add-modules com.example.module --output /myproject/myjre --launcher start=com.example.module/com.example.module.Main ``` 5. 上面的命令将创建一个模块化的JRE,其中包含com.example.module模块,并且将启动类设置为com.example.module.Main。 6. 此外,还可以使用其他参数和选项来自定义Jlink命令行脚本的行为,例如设置压缩级别、排除模块、排除文件等。 总之,Jlink命令行脚本是一个非常有用的工具,可以提高Java应用程序的开发和调试效率。通过编写Jlink命令行脚本,可以根据自己的需求创建自定义的运行时映像和模块化的JRE,以及执行其他的Jlink操作。 ### 回答2: jlink 是一个用于创建和操作 Java 模块化运行时映像的命令行工具。它可以用来生成定制的 JRE 或可执行程序,以便在没有完整 JDK 安装的情况下运行 Java 应用程序。 使用 jlink 命令行脚本可以实现自定义的 JRE 构建。以下是使用 jlink 命令行脚本的一些示例: 1. 创建一个最小的 JRE: `jlink --module-path <module-path> --add-modules <module-name> --output <output-dir>` 这个命令将使用指定的模块路径和模块名创建一个最小的 JRE,并将其输出到指定的目录。 2. 创建包含指定模块及其依赖关系的 JRE: `jlink --module-path <module-path> --add-modules <module-name> --output <output-dir> --bind-services` 这个命令不仅会将指定的模块添加到 JRE 中,还会将其依赖的模块一同添加进去,并绑定服务提供者。 3. 创建包含所有模块的 JRE: `jlink --module-path <module-path> --add-modules ALL-MODULE-PATH --output <output-dir>` 这个命令将会将所有模块及其依赖关系添加到 JRE 中。 4. 创建较小体积的 JRE: `jlink --module-path <module-path> --add-modules <module-name> --output <output-dir> --compress 2 --strip-debug --no-header-files --no-man-pages` 这个命令将在创建 JRE 时进行压缩、去除调试信息、不包含头文件和手册页,从而减小 JRE 的体积。 使用 jlink 命令行脚本可以根据需求创建定制的 JRE,从而减少运行时所需的依赖和体积,提高应用程序的运行效率和部署便捷性。 ### 回答3: jlink是Java Development Kit (JDK) 9之后引入的一个工具,用于创建精简版的Java运行时环境(JRE)或自定义的Java平台模块。jlink命令行脚本是使用jlink工具的一种方式。 使用jlink命令行脚本,可以通过一系列的命令来定义并创建一个定制化的JRE。以下是一个示例的jlink命令行脚本: ``` jlink --module-path <模块路径> --add-modules <模块名列表> --output <输出目录> ``` 其中,`<模块路径>`是指存放Java模块文件(.jmod)或模块化JAR文件(.jar)的目录或路径;`<模块名列表>`是一组模块的名称,用逗号分隔;`<输出目录>`是指将生成的精简版JRE输出的目录。 例如,要创建一个仅包含Java基本运行时模块(java.base)的精简版JRE,可以使用以下命令: ``` jlink --module-path $JAVA_HOME/jmods --add-modules java.base --output myjre ``` 这个命令将在当前目录下创建一个名为`myjre`的目录,其中只包含java.base模块所需的类和资源文件。这样,我们就可以将这个精简版JRE分发给其他人使用,而无需包含整个JDK。 除了上述示例之外,jlink命令行脚本还支持其他参数和选项,可用于配置JRE的特性和行为。可以通过执行`jlink --help`命令来查看所有可用的选项和参数。 总而言之,jlink命令行脚本是使用jlink工具创建精简版JRE的一种方式,可以根据需求定制化JRE的模块内容和功能。它提供了一种简单而灵活的方式,使开发人员能够轻松构建自己所需的Java运行时环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值