中科因仑“3+1”工程特种兵精英论坛

标题: 发个jlink v9工具,含代码 [打印本页]

作者: 张衍波    时间: 2015-6-14 17:05
标题: 发个jlink v9工具,含代码
工具,用到了Taoist大神的dumpfw.exe,特别感谢.

用法:将解压后的文件复制到   C:\Program Files\SEGGER\JLink_Vxxx   目录下
运行makev9fw.exe
之后J-Link V9 ALL.bin就会被更新了




帮大家熟悉一下vb.net代码:

Module Make
    Sub Main()
        Console.WriteLine("-------------------------------------------------------")
        Console.WriteLine("                 提取并合成JLink V9固件")
        Console.WriteLine("-------------------------------------------------------")
        If IO.File.Exists("dumpfw.exe") Then
            IO.File.Delete("J-Link V9.bin")
            Console.ForegroundColor = ConsoleColor.Blue
            Console.WriteLine("正在从JlinkArm.dll提取需要的固件文件...")
            Dim prc = Process.Start("dumpfw.exe")
            prc.WaitForExit()
            If IO.File.Exists("J-Link V9.bin") Then
                If IO.File.Exists("J-Link V9 ALL.bin") Then
                    Console.WriteLine("正在合并文件到J-Link V9 ALL.bin...")
                    Dim bufall = IO.File.ReadAllBytes("J-Link V9 ALL.bin")
                    Dim buffw = IO.File.ReadAllBytes("J-Link V9.bin")
                    Array.Copy(buffw, 0, bufall, 0, 1024)           '修改起始向量
                    Array.Copy(buffw, 0, bufall, 64 * 1024, buffw.Length)   '更新固件
                    IO.File.WriteAllBytes("J-Link V9 ALL.bin", bufall)

                    Console.WriteLine("J-Link V9 ALL.bin文件生成成功!")
                    Console.WriteLine("需要写入单片机的0x08000000地址! 任意键退出...")
                Else
                    Console.WriteLine("没有发现原来的J-Link V9 ALL.bin文件,任意键退出...")
                End If
            Else
                Console.WriteLine("没有从JlinkArm.dll提取到需要的固件文件,任意键退出...")
            End If
        Else
            Console.WriteLine("需要Taoist大虾的dumpfw.exe软件支持,任意键退出...")
        End If
        Console.ReadKey()
    End Sub
End Module
转载






欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4