Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 19 Nov 2003 02:34 PM by  mikee@logicpd.com
How to configure ADS1.2 for developping application software
 5 Replies
Sort:
You are not authorized to post a reply.
Author Messages
linj@ienso.com
New Member
New Member
Posts:


--
17 Nov 2003 09:52 AM
    We are trying to develop application software in ADS1.2 environment, and also we want remain BoLo and LoLo in LH7A400_10, just like the sample_zoom_app which LogicPD provides, but defferenc is: sample_zoom_app must be compiled in GNU CygWin environment.
    Please give some tips how to configure ADS1.2.
    Thanks!
    John
    mikee@logicpd.com
    New Member
    New Member
    Posts:


    --
    18 Nov 2003 12:10 PM
    Hi John,

    Thanks for posting.

    "Officially," LogicPD does not support the ADS toolset. I know that this may sound like a strange statement for a company that develops ARM-based development platforms to make, so I will attempt to explain.

    Logic makes several different hardware platforms. Some of these are based on ARM, some on SH, and in the future, who knows what other core/cpu we will decide to build a platform around.

    Since our internal research and development team (the ones who build and maintain LoLo, our BSPs, etc.) need to work with so many different CPU families, we standardized across one of the few toolsets that can handle them all. That being the GNU toolset.

    We have a very flat orginazational structure here at Logic. Which means when our customers need help, they are really never more than one-step away from a developer (if that). For instance, I myself lead the R&D software team and actively developed the A400 Windows CE BSP. If you look in some of the other forums, you will see postings by Mike T. Mike T is the lead architect/developer of the LogicLoader (LoLo) among many other things.

    Since we try to keep our developers so actively involved in the support of our customers, we can't try and have them get familier with every tool chain out there. Therefore, officially, we only support the tools that we work with (gcc, etc.).

    We do welcome and encourage other people to post their experiences with different tools to this forum. Also, our silicon partners (Sharp in this case) often hire other companies to do development on our kits. If we can, we post information about this development on our website. You may also find this information on Sharp's website.

    Finally, I will try to give you some pointers on where to look for help with the ADS tools.

    First, check the Sharp website. Their internal developers use those tools and they might have some sample projects for download. Search for their Bluestreak Software Library.

    Second, please check the sections in the LogicLoader's User Manual that pertain to BoLo and LoLo's memory map. These sections detail where LoLo's execution and memory area are. By knowing these, you can ensure that your program won't collide with the LogicLoader when you set up your ADS project.

    Finally, please read and understand the material covered in the post in this forum entitled

    "ARM-elf or Greenhill-elf downloads"

    A direct link that should work is:

    http://www.logicpd.com/su...b/viewtopic.php?t=55

    This topic covers an important difference in the layout between GNU ELF files and ELF files output by some other tools.

    Please feel free to post back with any further questions or comments. Also, I would encourage you to share any knowledge you gain in you endeavors back with the group here at this discussion forum.

    Best Regards,

    --mikee
    linj@ienso.com
    New Member
    New Member
    Posts:


    --
    19 Nov 2003 10:25 AM
    Hi, Makee:

    Thank you so much for your sugestions. I have another question: LogicPD provides WinCE BSP, can it be used in no WinCE platform on LH7A400-10?

    Maybe I am not correct, for my understanding, the developping software for ARM microprocessors should be consisted of 4 levels:
    1. Chip Level: CSP
    2. Board Level: BSP
    3. ABL Level
    4. Application Level: user level
    I beleive that CSP can be used in the different system which has the same microprocessor. But for BSP, because there are some different interface, such as LogicPD's LH7A400-10 and Sharp's SDK7A400, there should be some differences between their BSP. Sharp provides the BSP for SDK7A400, and LogicPD also provides WinCE BSP for LH7A400-10. Can we use WinCE BSP in no WinCE platform on LH7A400-10? If there is no BSP, that's to say:
    1. we must design BSP by ourself
    2. or we just design our application software based on CSP Level

    Thanks again!

    John
    mikee@logicpd.com
    New Member
    New Member
    Posts:


    --
    19 Nov 2003 12:46 PM
    Hi John,

    I think that I understand what you are asking me, and I'm going to do my best to answer.

    From what I gather, you are looking for code that can be used on our A400-based Card Engine. Am I also to understand that you do not want to run an operating system on the Card Engine?

    Just to be sure that we are on the same page, I'd like to let you know what I interpret each of your levels to mean.

    1) Chip Level: CSP

    This normally refers to code which is specific to a processor. In the case of ARM-based CPU's, oftentimes this code pertains to a whole family of processors. For instance, it is possible to write a CSP which will generically support all processors with an ARM-9 core in them. Examples of this would be processor startup code, cache handling routines, and code which controls the processor's memory management unit (MMU).

    2) Board Level: BSP

    This normally refers to code which is specific to a hardware platform. An example of this would be the code which drives a serial port on our Card Engine. This code needs to know what serial ports come off of the Card Engine, where they are memory mapped from a system view, etc. An even better example of this would be code which interacts with the CPLD on the Logic Card Engine.

    3) ABL:

    I'm not sure what you mean by this acronym, perhaps ARM Bluestreak Library??

    4) Application Level:

    This is code which a user interacts with, whether they know it or not. This is the program that makes the device useful. For instance, I'm submitting this response using the Mozilla web-browser.


    So, lets talk about 1 and 2 first. CSP's and BSP's are normally written with some sort of execution environment in mind. In the case of Windows CE, CSP's and BSP's are written to be linked with, and used by, the Windows CE kernel. Therefore, a CSP/BSP written for Windows CE probably won't be of much use outside of that environment. At Logic, we have a product called the LogicLoader (LoLo). This product runs on all of our Card Engines. Each Card Engine has an associated CSP/BSP which has been designed to allow LoLo to run on it. Again, outside of the LogicLoader environment, most of this code would be useful only as a reference.

    Now, lets handle number 4, the Application Level. This _definately_ assumes some sort of execution environment. Additionally, this implies some sort of development environment. Normally, the execution environment entails an operating system. However, sometimes this can be as simple as a schedular, or even a basic "Super-Loop". I can't really comment on this level of code unless you tell me what you want this environment to look like.


    Possible sources of suitable code:

    1) LogicLoader:

    Logic sells the source code for the LogicLoader. You can contact our sales team for pricing information. This would cover the CSP, BSP, and Application Level of code. You could write your application to use all of the functionality that we have already built into the LogicLoader. In this case, the development environment is the GNU tool set and the execution environment is the LogicLoader itself. This includes; networking, multi-tasking, file-system api, formatted input/output, C-library, and a host of other features.

    2) ABL:

    Sharp also makes available for free their ARM BlueStreak Library. This should cover your CSP level. In this case, the development environment is the ADS tools (I believe), and there isn't really an execution environment that I know of. After you download the code, you will need to decide what parts of the library you want to use, and then port them over to our platform. You will also need to decide what you want your execution environment to look like and then build it yourself. You can contact our services business to help you with this effort, or you can go it alone. All of the necessary hardware documentation should be available to you should you decide to go down this path. However, it is probably going to cost you more in development dollars than simply buying the LogicLoader.

    3) Logic Windows CE BSP (LoCE)

    The final example would be the Logic Windows CE BSP. In this case, the development environment consists of the programs; Microsoft Platform Builder and eMbedded Visual C++. The execution environment is, of course, the Windows CE operating system. Unless you are doing Windows CE work, this is not an appropriate option.

    I hope that answered your question. Please post again if it didn't or you are unclear about anything.

    It would help me to know more about what you want your environment to look like. Do you not plan on using an operating system? What type of application are you writing? Do you need networking, serial, compact flash, etc. ? If I know these items, I can help steer you into the best possible solution.

    Best Regards,
    --mikee
    linj@ienso.com
    New Member
    New Member
    Posts:


    --
    19 Nov 2003 02:27 PM
    Hi, Mikee:

    Thank you so much. Your answer is exactly what I need. Actually, the target which we buy LH7A400-10 is that we want to build internet explorer demo for future product development. We are nearly get our target. But only problem is that: the internet explorer which we have built can't access any websites in which the size of files including of .html/.txt/.gif is more than 1.5KByte, except the website - "www.tsanet.org". The interesting thing is that the website - "www.tsanet.org" can be fully accessed. We don't know where the problem are. Is it the problem of WinCE? or networking driver? We don't know. We have spent more than one month to handle it. That's why we are trying to find another way to get our target.
    I understand the Operating System is necessary. At begaining of our designing, we planed to use uC/OS. After we use WinCE, we found it's more efficient, and the familiar interface.

    Best regards,

    John
    mikee@logicpd.com
    New Member
    New Member
    Posts:


    --
    19 Nov 2003 02:34 PM
    John,

    I am almost certain that this is due to the fact that the networking driver is multiplexed with the KITL traffic. I truely believe that when Logic releases a stand alone network driver for the 91C111 on the A400, this problem will go away.

    I am very sorry that you have spent so much time on this and I hope that we can resolve this for you soon.

    I also want to thank you for your patience.

    Best Regards,

    --mikee
    You are not authorized to post a reply.