Ruffian Heng embedded: mcuboot utility v3.4 release, support serial NAND

Time:2021-10-5



The nxp-mcuboot utility tool maintained by ruffian Heng has been released for more than four months since the last major version (v3.3.0) was released. This time, ruffian Heng has brought you version upgrade v3.4.0. There are several very important updates in this version that need to be explained to you.

1、 V3.4 update records

Features:

2、 Several updates that can not be ignored

2.1 support downloading serial NAND

i. The mxrt series supports a wide range of startup devices. The tool already supports most types of startup devices. The serial NAND supported this time is one of the few unsupported device types left.

Compared with nor, NAND has the advantages of large capacity and low price, but it is not widely used in i.mxrt projects because it does not support XIP. In addition, NAND is also divided into raw NAND and serial NAND. The former came out earlier and has a certain mass base in the Linux world. Therefore, even if customers choose NAND as the startup device, it is generally raw NAND.

Why did ruffian Heng spend energy to upgrade the tool to support serial NAND this time? Of course, it’s business. Recently, some foreign customers chose to use serial NAND as the startup device, but there are few relevant data from NXP. It’s not easy to start, so ruffian Heng can only top it first and let the tool support serial NAND at the first time.

2.2 SDK 2.10. X routines supported

At the beginning of the tool design, it was intended to only support bare applications, that is, users only need to care about the application itself, regardless of the i.mxrt startup header (fdcb, IVT, BD, etc.), and the tool will automatically add appropriate startup headers. However, the example routine in NXP SDK includes startup headers (see xip_boot_header_enable = 1 in the project option), so the tool (starting from v1.1 version) Have to support bootable application source files.

When the tool v1.1 was released, the NXP SDK version was only 2.3. X. three years later, the SDK version has been upgraded to 2.10. X. Since SDK version 2.10. X, there have been some changes in the startup header setting. The entry value in IVT has changed from the interrupt vector header address to the reset function address. This change has had an impact on the tool. Therefore, the tool needs to be upgraded to support ivt.entry as a bootable program for resetting the function address.

  • Note: one limitation of the current function is to assume that the application interrupt vector table is aligned with 0x400, because the tool needs to find the address of the interrupt vector table from the source program file according to this assumption.

2.3 more nor flash models

NOR flash model design is a major feature of the tool. The previous version did not list all supported manufacturers and models, but only gave some representative models. If there is no flash model selected by the customer in the model, many customers do not know which model to choose (in fact, it is OK to choose a similar type, which does not necessarily need to be consistent with the manufacturer). This upgrade is directly in place in one step. Add all the models that should be added. If there is any omission, please leave me a message or mention the issue.

  • Note: the premise of model design is that these flash contain SFDP. In view of the fact that SFDP is nominally included in some manufacturers’ manuals, complete fdcb needs to be selected for support.

2.4 support flash full wipe operation

The tool itself is also a general flash programmer based on i.mxrt. We can read, write and erase the flash connected to i.mxrt at will. The erase operation in previous versions is mainly realized through the combination of sector erase and block erase commands. If customers want to erase all flash, it will take a long time. In order to improve the efficiency of full wipe, a new mass erase button is added this time, that is, call the chip erase command to realize it, which takes a lot of time.

So far, the main features of this update are introduced. The mcuboot utility project address is as follows. Although the functions of the current version (v3.4.0) are very complete, you can still add the functions you want on this basis. Why don’t you download and try such an artifact?

Welcome to subscribe

The article will be published to me at the same timeBlog Park home pageCSDN home pageZhihu home pageWeChat official accountOn the platform.

Wechat search“Ruffian scale“Or scan the QR code below to see it for the first time on the mobile phone.