cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F217 MAC address programming with ST-Link V2

rasheeda2
Associate II
Posted on July 08, 2018 at 14:23

Hi,

How can i program a MAC address using ST-Link-V2. Thanks.

8 REPLIES 8
Posted on July 08, 2018 at 14:57

Could you write a small .HEX to a specific configuration location, or into the OTP area?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on July 08, 2018 at 17:43

Is this only way? it is going to tough for non engineers.

I need to give facility to production to program MAC address in each board. Then he needs to modify the text file for each board.

Posted on July 08, 2018 at 17:59

I'm sure there are a bunch of ways to solve this.

Can't you automate text file modification?

Could you provide some user interface or test mode on your device?

Could you connect up the network, and pull a MAC address from a server?

Do you have to use an ST-LINK, could you use some different JTAG/SWD pod, with automation libraries available?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
rasheeda2
Associate II
Posted on July 12, 2018 at 14:53

Following is response from st support team and it works...not a guess work like some people do

In Reference manual RM0033, part 2.3.3 Embedded Flash memory, you can find address of OTP (one-time programmable) bytes for user data.

In STM32 ST-Link Utility you can display and modify this part of memory.

Posted on July 12, 2018 at 15:02

In STM32 ST-Link Utility you can display and modify this part of memory.

Pretty sure this is not fit for an automated environment.

The method of patching or merging the HEX/S19 file is quite common.

Another option would be to program the MAC address as a final step in the product test, with collaboration of the DUT.

Posted on July 12, 2018 at 17:23

It's not guess work, it's basic problem solving, why would you even expect 'non engineers' to manually modify a file, as software engineers you'd write code so they didn't see that, either on the Windows/Linux PC they are using as the programming station, or have functionality within your own embedded code, that you go fetch device unique MAC numbers or serial numbers. For MAC addresses, you'd be issued a range, and you'd have some database/server that could dole them out to the test system or end product.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on July 12, 2018 at 18:02

Every problem has specific solution, you response, i felt like guess work, suggesting to do this do that...etc

We were using STR9 and ST flasher which had facility on GUI to update OTP byte, with same intention i raised this query. But it seems not available!!!

Posted on July 12, 2018 at 18:58

I'm not paid to perform others job function. I'm quite capable of writing windows applications and device drivers, and using ethernet interfaces to pull configuration data, and stream firmware images to devices under test.

If you want to go the JTAG/SWD route, Segger has hardware and software, but personally I find that expensive to scale to large numbers of test stations. ST has ST-LINK and assorted command line and DLL, sure there is a workable solution there, but that's all pretty pedestrian compared to other JTAG and boundary scan solutions available to me.

The STM32 parts have well documented system loaders, which can be readily automated and scaled using other simple micro-controller boards that can either hold the entire payload, or sufficiently boot strap a system so it can pull from a more native interface, be that Ethernet, or SD/MMC cards. The type of interfaces the end-user would expect to be tested.

Even if you have to write scripts or spawn multiple applications there's never an expectation that a line operator would need to edit a file, they'd get PASS/FAIL indications, and status about serial numbers and calibration data, and then that would get pushed into a test database, and label printers for the product.

At the end of the day I'm here to provide directions, like the man on the street who knows the town, but I'm not looking to drive you to your destination.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..