Skip to contentSkip to conversation

Access global data from standalone application

U-Boot-Users Shawn Jin 2 participants 4 messages Jun 17, 2005 – Jun 18, 2005

lore
Share & tools
lore

Shawn Jin

author
#0 lore raw

Hi,

Is there any way to access global data defined in U-Boot from standalone applications? For example, hello_world wants to access flash_info[].

Regards,
-Shawn.

#1 lore raw
Quoted 4 lines · In message <[email protected]> you wrote:

Is there any way to access global data defined in U-Boot from standalone applications? For example, hello_world wants to access flash_info[].

Be careful with your terms. It is trivial to access "global data" in SA apps as the GD pointer is passed in a register - but "Global Data" in U-Boot is something which has nothing to do with flash_info[].

You can export and call in SA apps functions which perform operations on flash_info[], but you cannot access flash_info[] or any other global variables directly.

Note that this is intentional.

Best regards,

Wolfgang Denk

Signature · 6 lines
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
G's Third Law:             In spite of all evidence  to  the  contra-
ry,  the  entire  universe  is composed of only two basic substances:
magic and bullshit.
H's Dictum:                There is no magic ...
author
#2 lore raw
Quoted 7 lines
Quoted 3 lines

Is there any way to access global data defined in U-Boot from standalone applications? For example, hello_world wants to access flash_info[].

Be careful with your terms. It is trivial to access "global data" in SA apps as the GD pointer is passed in a register - but "Global Data" in U-Boot is something which has nothing to do with flash_info[].

Well, what I meant is exported data. Thanks for the clarification. My understanding is that the GD pointer points to gd_t. Those data inside gd_t can be accessed trivially in SA apps, as you said.

Quoted 3 lines

You can export and call in SA apps functions which perform operations on flash_info[], but you cannot access flash_info[] or any other global variables directly.

Confused. How do SA apps perform operations on exported data without accessing them? Could you elaborate a little bit? I want to write a SA app to print the protection info of all flash banks. I know flinfo can do that. I just do some experiments. ;)

Regards,
-Shawn.

#3 lore raw

Hello,

Quoted 2 lines · in message <[email protected]> you wrote:
Quoted 2 lines

You can export and call in SA apps functions which perform operations

            ^^^^^^     ^^^^            ^^^^^^^^^
Quoted 5 lines
Quoted 2 lines

on flash_info[], but you cannot access flash_info[] or any other global variables directly.

Confused. How do SA apps perform operations on exported data without accessing them? Could you elaborate a little bit? I want to write a SA

By calling functions in the U-Boot code which use the data.

Quoted 2 lines

app to print the protection info of all flash banks. I know flinfo can do that. I just do some experiments. ;)

Then just export and call the do_flinfo function.

Why reinvent the wheel or duplicate already existing code?

Best regards,

Wolfgang Denk

Signature · 5 lines
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The most exciting phrase to hear in science, the one that heralds new
discoveries, is not "Eureka!" (I found it!) but "That's funny ..."
                                                      -- Isaac Asimov