ΣSigmaStudio Ask AI Русский Log in

Parsing blocks addresses

SigmaDSP & SigmaStudio rugastro Oct 1, 2010 00:00 10 replies Original on forum ↗
Subscribe
rugastro Question
Oct 1, 2010 00:00

Hi, I'm using an ADAU1701 with a microcontroller.

I'd like to know the addresses of some chosen DSP blocks and I don't want to use any external application to parse the .params or the .h file generated by SigmaStudio. Is it possible to obtain these addresses using SigmaStudio scripting?

Could I have some documentation about it?

Thanks

Stefano Rossi

Audio Signal Processors

microcontroller

script

sigmastudio

SigmaDSP Audio Processors

SigmaDSP

adau1701

Show More

rugastro Reply
Oct 1, 2010 00:00

I'm preparing a sort of "development hardware", with only some blocks of the schematic that are fixed. The rest of schematic can change, and blocks can be deleted or added. My question is: is there a way to parse the blocks addresses with SigmaStudio scripting and send them to a file or to my microcontroller by I2C? Is there somewhere documentation of classes and methods of SigmaStudio scripting?

MagicRuB Reply
Oct 1, 2010 00:00

I'd like to know the addresses of some chosen DSP blocks and I don't want to use any external application to parse the .params or the .h file

These addresses change as your design changes so using the compiled files is the only way. However, once compiled and parsed, if you don't make any changes that add or subtract any modules then your addresses shouldn't change.

rugastro Reply
Oct 4, 2010 00:00

Could anybody help me about scripting? Or must I recompile mandatorily my program with the static header file generated by SigmaDSP every time I change my schematic?

Thank you

Stefano Rossi

MagicRuB Reply
Oct 4, 2010 00:00

You are a little too fixated on the "address" of the modules, practically any module can have any address. What sets the address is the program that is compiled from a given design layout. When booting there are two steps 1) Upload program data 2) upload config data. I think the question you need to be asking is how do you make a compiler to generate program data via a "script". The answer still won't give you a constant address for modules but at least it will be deterministic.

rugastro Reply
Oct 5, 2010 00:00

Thank you for the answer. I know that the addresses could change from one compilation to another; my question ask if I can send to DSP from SigmaStudio the addresses of some fixed blocks of my schematic. I'm fixated on address because I want to communicate by I2C after booting sequence with a microcontroller to change filters values and routing blocks way selections without a connection with SigmaStudio. Until now I have hardcoded the addresses obtained from SigmaStudio header files to use safeload feature (I must know the blocks address to make changes). Now I want avoid to recompile the microcontroller executable every time the schematic changes, and I need addresses, static or deterministic (that don't change from one compilation to another, or have I misunderstood?) as you said. How could I explain to the SigmaStudio compiler to have deterministic addresses? I thougth that SigmaStudio script engine could help me, but I received by e-mail the following answer:

"Unfortunately, the script engine wasn't designed to do the sorts of things that you mention in your email. It's capability is to do things in SigmaStudio that you'd typically do with a mouse - place cells, draw wires, click buttons - not as a tool to parse, select, and copy & paste data from the output files."

Sorry for the poor understandability of the question.

Thank you

Stefano Rossi

ADIApproved Reply
Oct 5, 2010 00:00

SigmaStudio cannot fix the parameter RAM addresses of parameters used in the design; these may change every time you compile your project. The header files outputs are provided so that you can easily work with these changing addresses and the changes can be abstracted away from your development. The header files allow you to use names, which won't change, rather than absolute memory addresses for the parameters.

rugastro Reply
Oct 6, 2010 00:00

Thank you for the answer. So, I can't fix in any way the addresses, but I don't want to recompile my microcontroller executable every time the schematic change. So, if I don't want to recompile I must use another program that (tell me if I say something wrong):

- parse "offline" the header file using fixed names of addresses

- send the parsed addresses to my microcontroller, for istance by UART.

This is what I have done with a previous project, but the product users don't like to do these steps, and always forget the second one. So my new question is: could I launch any external program with SigmaStudio scripting engine? Or, otherwise: could I recall the "Link/Compile/Download" function from a batch or some other scripting language, to compile my schematic then invoke the parse/downoload executable?

Thank you

Stefano Rossi

MagicRuB Reply
Oct 6, 2010 00:00

If you want this thing automated try this over-the-top solution.

1) Implement a TCP/IP stack on the micro-controller or use something like http://www.microchip.com/mal (its easier than you think)

2) Make an FTP server on the SigmaStudio computer and share the folder where you save your compiled files.

3) Instead of hard-coding the module addresses in the micro-controller's program memory "ROM", re-implement them as variables.

4) Use an FTP client on the micro-controller to access this FTP server and parse the address so the microcontroller can use them on-the-fly.

5) Assign a timer and/or button on the micro-controller to instigate the FTP client read. Maybe check for file changes (simple checksum?) every few seconds/minutes?

Enjoy!

rugastro Reply
Oct 7, 2010 00:00

This could be a solution, thanks!

Thank you for the answers!

Stefano Rossi

EZAdministrator Reply
Apr 29, 2019 00:00

This question has been closed by the EZ team and is assumed answered.