1
\$\begingroup\$

I have a system that is using the built-in firmware loading facility of the LPC1343. When the flash drive is mounted, the disk is always labeled "CRP_DISABLED". Is there a way to change the label of the drive to something else?

\$\endgroup\$
1
\$\begingroup\$

This label is in ROM, and cannot be modified as far as I know. Only NXP can change this in their production process - but they need good reason ($$$$$) to do this.

The only thing you could do is to write your own boorloader. But given the small RAM (8k) and Flash (32k) of the device, this will be problematic, too - unless you have much space free in Flash.

\$\endgroup\$
  • \$\begingroup\$ I figured this was probably the case. Now it is confirmed! \$\endgroup\$ – BrianV Apr 30 '12 at 19:19
1
\$\begingroup\$

In the boot mode, the ROM will determine what the volume label will be when entering USB-ISP. According to the manual, the volume label will reflect the state of the code-protection bits (CRP). Seeing "CRP_DISABLED" means that the chip has not been code-protected, and you can read and/or write the flash memory. Seeing any other volume label means that there is some level of code protection. (Read the user-manual for information on these).

Also, note that due to a bug in some versions of the USB-ISP, you may have to wait for a second "connect" retry from the device, which can take around 15 seconds. (This is documented in the user-manual).

Another thing-- if you use anything other than a Windows machine, you are going to have problems. Windows writes sectors to disk drives on a "first available cluster" basis-- so, your firmware file will be written onto the device in the expected sequential order. On non-Windows OS's, files are NOT written to "first available cluster" basis-- the files are written in (seemingly) random order. This is the case with any of the *BSD's, Linux, and Apple OS/X (which is based on OpenBSD). I can't remember why they do this-- maybe security or performance reasons-- but that doesn't matter, because if you erase the "firmware.bin" file, you will need a Windows machine to write it back. (Or, if you have the "mtools" package available for installation with your O/S, "mcopy" can write this file without any issues). Another way to deal with non-Windows OS's in this situation-- If you don't first DELETE the file (like the user-manual suggests), your non-windows OS can open the file for writing, then copy the new firmware to the open file-- this will use the "clusters" (flash sections) in the same order as they originally appeared-- in sequential order.

But anyway, sorry-- no, you can't change the volume-label on the USB-ISP-MSD.

\$\endgroup\$
  • \$\begingroup\$ Great to know. We had a user have an issue with the bootloader on OS X. I thought it was a software issue as he had been running an older version of the firmware and upgraded to a new version with different configuration settings. This is the reason, and sounds like we'll need to create a custom tool for loading the FW on OS X. \$\endgroup\$ – BrianV Sep 11 '12 at 15:11
0
\$\begingroup\$

The LPC1343 has USB drivers in ROM but you can change the descriptors. It is documented in the User Manual: http://www.nxp.com/download/pip/LPC1343FHN33/user_manual

\$\endgroup\$
  • \$\begingroup\$ To clarify, this is for the firmware loading facility, not the onboard USB mass storage driver. \$\endgroup\$ – BrianV Apr 30 '12 at 19:18
  • \$\begingroup\$ Well, that was what you asked about. \$\endgroup\$ – morten Apr 30 '12 at 20:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.