Git Product home page Git Product logo

nuvoton_tools's Introduction

NuMicro software development tools

IDE and Driver (official download link)

Programmer (official download link)

Open source code

Coding assistant and debugger (desktop)

Coding assistant (cloud)

Signal pass-through/monitor (I2C/SPI/CAN of Nu-Link2-Pro):

Apps

Machine learning development environment



Nu-Link2-Pro debugging and programming adapter

When using the software development tools above, you may need a USB adapter. Here, we introduce a new feature-rich Nu-Link2-Pro adapter to you.

An overview picture of software tools, adapter and targets

The firmware of the Nu-Link2-Pro adapter

All Nu-Link2-Pro firmware binary files can be found here

Users can reprogram Nu-Link2-Pro with another .bin file using the following instructions (Windows OS)

  1. Press the button on Nu-Link2-Pro and plug in the USB cable.
  2. The "Nu-Link2-Pro" disk will appear. (If you see the disk name as "NuMicro MCU", it will upgrade target the device firmware instead of Nu-Link2-Pro itself)
  3. Drag and drop the Nu-Link2-Pro firmware .bin file into the disk.
  4. Re-plug the USB cable and it's done.

More options for NuLink2FW (configuration file NU_CFG.TXT)

warning: The meaning of options for v3.09.7380 is different from v3.05.7174r ~ v3.08.7313), for the old settings, please see the old link.

  1. When you upgrade the NuLink2FW.bin to a version greater than or equal to v3.09.7380, you will see some options in NU_CFG.TXT.
  • Open the NU_CFG.TXT file in the pop-up "NuMicro MCU" disk
  1. For the Nu-Link2-Pro, you will see POWER-MODE and BRIDGE-MODE options. You need to re-plug in the USB cable to activate the setting.
  • Set POWER-MODE for SWD output voltage level (mainly for CMSIS-DAP interface use)

  • Set BRIDGE-MODE=0; this is the default setting. It has a WebUSB interface conforming to the CMSIS-DAP protocol, and you can connect to KEIL Studio Desktop/Cloud via this interface. Note that CMSIS-DAP will be disable in other BRIDGE-MODE (Limited USB endpoints).

  • Set BRIDGE-MODE=1; the pass-through bridge function of Nu-Link2-Pro will be enabled (The word Nu-Link2-Bridge will be used to represent the pass-through bridge application on Nu-Link2-Pro adapter). Nu-Link2-Bridge pass-through the data between the VCOM port and I2C/SPI/RS485/CAN interfaces. (You will see a "Nu-Link2-Bridge Virtual Com Port" in device manager.)

  • Set BRIDGE-MODE=2; a USB HID interface that supports ISPTool will be enabled. This USB HID interface doesn't pass through data, it communicates with ISPTool via HID_ISP and offers I2C/SPI/RS485/CAN interfaces for ISPTool.

  • Set BRIDGE_MODE=3; a USB HID interface that supports Boot_Loader_ISPTool will be enabled. This USB HID interface doesn't pass through data, it communicates with Boot_Loader_ISPTool via HID_MKROM_ISP, and offers I2C/SPI/RS485/CAN interfaces for Boot_Loader_ISPTool. (this mode need the firmware later than v3.10)
    Only the NuMicro chip that supports mask ROM Boot Loader (e.g., M460 series) can commnuicate with Boot_Loader_ISPTool

  1. If you use Nu-Link2-ME, it doesn't support BRIDGE functions, and you will only see the CMSIS-DAP option.
  • Set CMSIS-DAP=1; this is the default setting. It has a WebUSB interface conforming to the CMSIS-DAP protocol, and you can connect to KEIL Studio Desktop/Cloud via this interface.
  • Set CMSIS-DAP=0; it will disable CMSIS-DAP and enable the Nu-Link2 "USB BULK_ICE" interface (it's faster than "USB HID_ICE").

Comparison of NuLink2FW.bin and NuLink2_DAPLink.bin

  • Proprietary code
  • Support NuMicro 8051, offline programming, encryption during data transmission, unlimited flash break points, NuMicro chip-specific features (config0/config1 dataflash setting, KPROM, etc.)
  • USB interfaces: MSC/VCOM/HID_ICE(proprietary commands) or CMSIS-DAPv2 WinUSB + WebUSB CMSIS-DAP/VCOM_Nu-Link2-Bridge or HID_ISP (defined by BRIDGE-MODE of NU_CFG.TXT)
  • Open source: DAPLink on Nu-Link2-Pro
  • Support many third party IDE
  • USB interfaces: MSC/CDC/CMSIS-DAPv2 WinUSB/WebUSB CMSIS-DAP

Some other example projects for NuLink2



nuvoton_tools's People

Contributors

ccli0 avatar ccma1120 avatar ijliao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nuvoton_tools's Issues

NuTool-LCDView can't read NuTool-PinConfigure setting.

My traget mcu is M258KE3AE NuTool-LCDView version is v1.05.0004 and NuTool-PinConfigure version is V1.27.0001.
I generated pin setting by using used NuTool-PinConfigure. I found the save file's sub-file name is ncfg, not cfg, so it can't be read by NuTool-LCDView. Please fix this bug. Thanks.

[Nu-Link2] [Nu-Link2-Pro] Painfully slow performance in OpenOCD

Nu-Link2 is lightning-fast in Keil, but I'd really prefer a more modern development environment than µVision, especially for day-to-day software work. Something capable of hosting a gdbserver is a must.

Is there work underway in improving OpenOCD performance for the Nu-Link? I just bought a Nu-Link2-Pro, and it's essentially unusable for day-to-day development with OpenOCD (it takes 42 seconds to flash the lwIP demo to my M487 NuMaker board)

When I switch the Nu-Link2-Pro over to the DAPLink firmware, it takes less than 10 seconds, which is an amazing improvement! I wouldn't mind permanently switching to DAPLink, but Nuvoton doesn't appear to offer "generic" DAPLink firmware that works on the NuLink2-Pro; the firmware images are all target-specific.

Worse still, Nuvoton only has four or five MCUs supported in DAPLink right now. I have projects that range from old NUC100-based designs to the newest M032 and M33 offerings, and I purchased the Nu-Link2-Pro thinking I could use it on all of those projects.

Until this gets sorted out, I'm stuck using my Segger J-Link / J-Trace — those are great tools, but I'd really like to be able to use the built-in debuggers found on all the NuMaker boards I've been acquiring. They need a huge improvement in performance first, though.

[Nu-Link2-Pro] Setting parameters in NU_CFG.TXT doesn't work

I'm trying to reconfigure the Nu-Link2-Pro to become a CMSIS-DAP by setting CMSIS-DAP=1 in the NU_CFG.TXT file, but the setting never sticks. I've tried ejecting the drive in Windows to force any pending writes to complete, and that doesn't help either. I've tried setting other things in the config file and they also fail to set.

I've tried it on Windows 10 and Windows 11, and I've tested every firmware version in this repo that has this feature (from revision 7174r to the latest version).

Also, I noticed that Windows thinks the file is "read only" — I have to clear that checkbox to be able to save the file. I'm not sure if that has anything to do with it.

"NuLink_M2354 -W APROM ./build/bin/bl2.bin 0" cannot execute

I Building TF-M code,and Flashing Image with Nuvoton NuLink Tool,NuMaker-PFM-M2354 board supports on board ICE called NuLink. Connect NuLink to PC with USB cable and using NuLink Command Tool to flashing the image.

The commands are as follows:
NuLink_M2354 -C
NuLink_M2354 -E ALL
NuLink_M2354 -W APROM ./build/bin/bl2.bin 0
NuLink_M2354 -W APROM ./build/bin/tfm_s_ns_signed.bin 0 0x20000
NuLink_M2354 -W NSCBA 0x70000

when run command " NuLink_M2354 -W APROM ./build/bin/bl2.bin 0", cannot execute,To quote the following wrong:
$ NuLink_M2354 -W APROM ./build/bin/bl2.bin 0

ERROR: Failed to Parse the Flash Algorithm!!! <<<

******************** Execute operation ending ********************
CAxf: open file erro

May I ask why?

[NuTool - ClockConfigure] [NuTool - PinConfigure] Easier way to copy register C code into project

Rather than using the "Generate Code" feature, ClockConfigure and PinConfigure should have a button to allow the user to copy the register init code, as plaintext C code, to the clipboard so that they can paste it into their project.

Right now, it's rather clunky to use and integrate these tools into a project. Both ClockConfigure and PinConfigure have a "Generate Code" feature that will create a series of directories and separate MyProject.c source files that both contain a void SYS_Init() method with the generated registers. However, these files obviously can't be used unmodified, since the method names are identical, thus the user has to manually combine the code in these methods into their own project tree.

It seems like it would make more sense to just copy the contents of these generated SYS_Init() methods directly to the clipboard so the user can paste it into their own project.

[NuTool - PinConfigure] Feature request: add ability to configure GPIO pins

Right now, PinConfigure is basically just for wiggling the MFP bits to enable peripheral pin muxing. It would be nice if the tool added GPIO pin mode configuration, which would generate lightweight C code to program all the GPIO registers en masse.

When you click on a pin, you could either select its special function (say UART0 TX or PWM1), but you could also choose the GPIO mode. An additional view on the left would show all the configured GPIO pins and further allow you to select their pin mode, slew rate, interrupt, etc.

I know the Nuvoton BSP has methods for doing this, but it seems more logical to have this done as generated init code, which is similar to other platforms that use code-gen tools. It is very common for an EE who designed the board to configure all the pins for the software engineer before handing off the project, so doing that in the GUI tool would be fantastic.

[NuTool - ClockConfigure] [NuTool - PinConfigure] implement Ctrl-S to save and remember file name

In both the ClockConfigure and PinConfigure tool, hitting Ctrl-S does nothing, and hitting on the "Save" icon always invokes a file chooser. These apps should remember the file that was opened and when the Save button is pressed, write to that same file. An alternate "Save As" button could be implemented to change the file path.

Additionally, Ctrl-S should bind to this "Save" command, as it does in 99% of other Windows applications.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.