Change Address STM32F722 Program - stm32

I'm very inexperienced in STM32 programming and want to ask about firmware installment with ST-Link-Utility.
I've a flight controller that must be flashed with custom firmware.
The firmware provided by developer now is compiled as hex file and has starting address at 0x8008000.
I need to change it's starting address to 0x2000000.
Is there any possibilities to do this, without modify source code of the hex file?
What I need to do first in this case?

The firmware provided by developer now is compiled as hex file and has starting address at 0x8008000. I need to change it's starting address to 0x2000000.
This is not possible without recompiling / linking.
For example the controller must know where to find the vector table. And the position is defined somewhere in the hex.

I hope I got what you said.
With ST-Link-Utility you can easily change offset of Flash Address this way:
Check that and let me know.

Related

After setting READ protection option byte value = CC (chip protection). NO STM32 target found

After setting READ protection option byte value = CC (chip protection) I can't program the card anymore. CubeIDe and CubeProgrammer cannot find the device.
Anyone know how they can fix it thanks
You have permanently disabled debug access on this chip, it can never be restored. That is the whole point and only reason that you would ever write 0xCC.
See the appropriate page in the manual (eg: if you are using stm32f4 then it is section 3.7.3 of RM0090)
This protection level disables debug interface permanently. Your chip is bricked and you need to buy another one.
If your application requires updates you need to write your own bootloader (or the app can upgrade itself) as only the program can reprogram the FLASH in this protection mode.

How to transfer Files from OPC UA Client to Server

I want to Download and Upload, for example a .txt file, with the UA-Expert Client to/from a Server which i have set up on a Device.
Could someone provide me a Step by Step solution or an example on how to implement this?
I first followed the tutorials from the open62541 website.
I tried to follow and understand the OPC-UA-Specifications, particularly Part 5 Annex C.
Thank you in Advance.
open62541 doesn't support this out of the box meaning that there is no pre-made plugin which implements the required Objects for the various platforms.
That said it isn't to much work to do it yourself (especially if you don't need something generic/cross platform).
I've done such a one-off a few months ago. It was like 2 days of work. It was limited to downloading specific files from the server.
If my memory serves me well all you need to do is to enable the generation of the types specified by part5/annex c (there is a .txt or .csv in the sourcetree containing all the types that should be generated), after that you need to instantiate such an object (File for example) and place it somewhere in your server address space. What is left to do is to implement the various methods (open, read, ...) And to hook up your objects with callbacks to these.
This feature was added recently, but is not yet included into the official release.
Have a look at: https://github.com/opcua-tsn-team-kalycito/open62541/tree/fileType_object_implementation
(Make sure to use the commit 76eb14f6886911f954c40492cbe346c69b055ba5; the latest commit is not working)
An example implementation is:
UA_StatusCode result = UA_Server_addFile(server, FileTypeNodeId,
UA_NODEID_NUMERIC(0, UA_NS0ID_OBJECTSFOLDER),
UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES),
UA_QUALIFIEDNAME(1, "Sample File"),
oAttr, filePath, NULL, NULL
);

How to get FATfs working on Xmega A4? Not sure what I should add or what file to edit

First of all, I have already been through http://elm-chan.org, and while it has helped me, it is a bit vague (in my opinion).
I am attempting to read an SD Card with an Xmega128a4u using ASF (because the non-ASF way is too underground for me...). Anyway, although ASF has an example with the Xplained board for Xmega C3, it is not very helpful, and my attempts at porting it fail.
So, the following is what I do:
I start a Project in ASF (I'm programming in C)
I add the FATfs, SD/MMC and systemClock divers(or modules or services) to my project through ASF Wizard.
I get kind of lost... :(
I read in elm-chan's page that some sort of "glue file" but it's not very specific in what it should be. What should I #include in it or where should I #include it?
I'd appreciate some help on this as I have tried several things with no success.
you have to addapt the disk_read, disk_write, ... functions in the diskio.c file. they will connect the fatFS library with your (low-level) sd communication.
you should may first test a simple communication with the sd-card without file system.
I have the same "project" but with an arduino due board instead of Xmega and the simple communication does allready work, so I can read and write. But my problem is to addapt the FatFS correctly and I suppose that the fault can be localized in my diskio.c functions, cause they are individual.
Maybe someone has got the same problem and can help me?
Ciao
Imke

printk in driver

I am really new to linux module programming.
I need to some how be able to do some tweak to the ath9k driver in linux.
I finally got the compat wireless source code of ath9k to compile in ubuntu 11.04 and was trying to play around with the code.
I tried using printk to tried to get to see what happen.
First I put printk in the init.c file, the message I printed show up when I use dmesg in the terminal. However, when I tried to use the same printk in another file like rc.c it does not show up at all.
I am wondering why is that?
And is there some other way that I could some how log some information from the code similar to the fprintf. What I need is I need to extract somehow the packet header from the driver.
Thank you
Best Regards.
read about the proc fs, it's a great framework to extract data from device drivers.
once you have registered a device node as proc fs, you can read from it.
once the the read function is called, a callback function you defined is creating the output. this is an excellent way to retrieve data from device.
there are also two other methods, one is sysfs, you can google for it. and the second,
if the the device is a char device, you can implement an ioctrl function which returns the info you need.

iPhone link to map directions using string "current location" not lat and lng for saddr

I know there are numerous questions about how to construct a sharedApplication link to the maps app specifying the start and end address with coordinates. I've got that working no problem.
Has anyone found a way to link with a source address generically specified as "current location".
I ask because the scenario I'm working on having Core Location or a UIMapView would only be necessary in order to determine the user location prior to handing off to the map app where the user locating would seem to just happen again.
I've tried throwing UTF8'd "Current Location" and "[Current Location]" into the saddr parameter which amusingly starts from Current Montana. I've also tried simply excluding the saddr param.
I know this is often tread territory but this particular situation wasn't covered by anything I found searching here or on mapki. Before I add the core location code I just wanted to make sure there wasn't a more limited way to tackle this.
Thanks
This post is quite old, but recently I had to face a similar issue and I developed a solution.
Using "Current Location" (properly escaped) as source address works perfectly.
The downside is that "Current Location" is valid for English language only. If your iPhone is set to use another language, you need to know the exact translation that Apple chose for that particular language.
I wrote a class that can provide the exact translation for "Current Location" in any supported language. You can read my blog post about this.
Hope this helps.