Booting dircetly into Redlink FW from flash

Hello,

the usual way to use the Redlink FW is a two-step approach:

  • First the MCU of the probe enumerates as a DFU device.
  • Then the Redlink Server downloads the current Redlink FW into SRAM
    and the probe re-enumerates as a different HID device (VID 0x21BD, PID 0006) which is the probe FW.

This works quite fine, but if your target MCU also boots into USB at the same time the probe boots,
then the host cannot know which device is the probe and which one is the target.

In this scenario it would be desirable to flash the (current) Redlink FW once into the internal flash of the probe MCU and then directly boot from flash.
The probe would then enumerate as the"probe HID" device directly.

Can this be done easily, i.e. is there a Redlink FW that is relocated for start from internal flash?

We plan to deploy quite a lot (40+) of these "hard coded debuggers" for edu purposes in two labs.
The probes are already designed and tested with the LPC4320 (and up) and work fine so far.
AFAIK they could run on some LPC18xx as well. If so, does this require a different Redlink FW?

We just use the JTAG debug interface, no SWD, trace port or other fancy stuff.

Best regards,

Mike

First of all, redlink is designed to run on known NXP debug probe hardware only.

It is only tested on such probes, and we make no guarantees as to its use on other hardware.

Also redlink firmware will only run LPC43xx, there is no LPC18xx variant.

But those points aside, if you hardware had SPIFI flash then you should be able to program the image into that -

the LPC43xx bootloader would download it into RAM on startup).

LPCScrypt could be used to do this.

But there is no redlink firmware build available that could run from internal flash. < run from SRAM always >

Note that you mention LPC4320 - which of course has no internal flash.

If you are using internal flash then the simplest solution might be to try using CMSIS-DAP firmware,

which is designed to programmed and run from flash ......

http://www.lpcware.com/lpclink2-config-tool

Regards,
LPCXpresso Support

Update:

I decided to stick with the Redlink FW, because according to the documentation the CMSIS/DAP version cannot debug the multicore targets.

So I just wrote a "bootloader stub" residing in internal flash

  • which copies the current Redlink FW (stored in internal flash as a BLOB also) to SRAM,
  • sets up VTOR and the SP for SRAM operation and
  • then jump to the "new" reset vector, i.e. starts the FW.

Works fine on a LPC4327.

Our "microboards" now enumerate immediately as "LPCLINK2 redlink" devices

and work as expected with LPCXpresso as JTAG probes.

Thanks for your help and clarification even on a project that is well "out of support scope".

Regards,

Mike

Glad to hear that you now have a solution that works for you.

You should take note though that the redlink firmware provided with one version of LPCXpresso may not work with,

or may not provide support for some features, when used with a future LPCXpresso release.

Thus I would recommend that you update the firmware you have flashed when you update to a new LPCXpresso version.

Also regarding the CMSIS-DAP firmware for LPC-Link2:

you are correct that using this firmware you can currently only connect from LPCXpresso to the M4 core inside the LPC43xx parts.

Allowing connections via CMSIS-DAP to the M0 core(s) is something we do intend to support in a future release LPCXpresso release though.

Regards,
LPCXpresso Support

Booting dircetly into Redlink FW from flash的更多相关文章

  1. 【转载】Serial NOR Flash and U-Boot

    转载自:http://blackfin.uclinux.org/doku.php?id=bootloaders:u-boot:serial-flash U-Boot supports serial N ...

  2. 创建squashfs

    SquashFS 通常的livecd都有一个这个文件,是核心的文件系统 SquashFS 也是一个只读的文件系统,它可以将整个文件系统压缩在一起,存放在某个设备,某个分区或者普通的文件中.如果您将其压 ...

  3. Bug搬运工-CSCvg37458:ISR4K goes into booting loop with "flash:" in boot statement

    ISR4K升级的时候要注意了! 很可能会碰到如下的问题: ISR4K goes into booting loop with "flash:" in boot statement ...

  4. [转]uboot中SPI Flash Booting配置

    转自:https://e2echina.ti.com/question_answer/dsp_arm/sitara_arm/f/25/t/124834 最近和人一起调试SPI FLASH的配置问题,做 ...

  5. s3c2440 移值u-boot-2016.03 第2篇 支持Nand flash启动

    1, 要求:在4K 的代码以内,完成 NOR NAND 类型判断,初始化 NAND 复制自身到 SDRAM ,重定向. 2, 在 /arch/arm/cpu/arm920t/ 文件夹里 添加一个 in ...

  6. LPC18xx LPC43xx LPC4370 Bootrom USB DFU FPB - Flash Patch and Breakpoint Unit

    What is the difference between a Bootrom vs bootloader on ARM systems Bootrom Bootrom (or Boot ROM) ...

  7. Android eMMC Booting

    Android eMMC Booting Contents [hide] 1 eMMC binaries 1.1 Creating the GPT table 1.2 Modifying .IMG F ...

  8. Android gingerbread eMMC booting

    Android gingerbread eMMC booting This page is currently under construction. The content of this page ...

  9. Booting ARM Linux

    来源:linux-2.6.30.4/Documentation/arm/Booting ARM Linux Booting ARM Linux            ================= ...

随机推荐

  1. iOS 判断相册相机是否允许

    1 判断是否允许使用相机: NSString *mediaType = AVMediaTypeVideo; AVAuthorizationStatus authStatus = [AVCaptureD ...

  2. Jquery常用方法合集,超实用

    转自:十分钟玩转 jQuery.实例大全 一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库. ...

  3. idea-plugin

    codehelper.generator https://github.com/zhengjunbase/codehelper.generator?id=5f5b0005-11fb-48e4-bdb7 ...

  4. linux 串口驱动(二)初始化 【转】

    转自:http://blog.chinaunix.net/uid-27717694-id-3493611.html 8250串口的初始化: (1)定义uart_driver.uart_ops.uart ...

  5. C# sha256 加密算法

    C# 非对称加密 public string sha256(string data) { byte[] bytes = Encoding.UTF8.GetBytes(data); byte[] has ...

  6. .NET C#错误:所生成项目的处理器框架“MSIL”与引用“wdapi_dotnet1021”的处理器架构“AMD64”不匹配

    .NET C#错误:所生成项目的处理器框架“MSIL”与引用“wdapi_dotnet1021”的处理器架构“AMD64”不匹配. 直接在项目右键属性->生成->x64. 即可解决

  7. 更改jupyter notebook的主题颜色(theme) 包括pycharm

    https://blog.csdn.net/Techmonster/article/details/73382535

  8. [USACO17FEB]Why Did the Cow Cross the Road I G

    一开始想写$DP$,发现直接转移完全有后效性 所以本小蒟蒻写了个最短路 每走三步就要吃草是这个题最难搞的地方,我们建图时不妨只对于距离等于三的点连边 考虑完全覆盖所有情况,从一个点走一步,两步,然后三 ...

  9. GeoHash解析及java实现

    GeoHash解析请参考这里: http://www.open-open.com/lib/view/open1417940079964.html java实现GeoHash,代码已注释. import ...

  10. 基于用Path.Combine的优化

    Path.Combine: 什么时候会用到Path.Combine呢?,当然是连接路径字符串的时候! 所以下面的代码可以完美的工作: public static void Main() { strin ...