Two Project Ideas for BeagleBoard Google Summer of Code

51 views
Skip to first unread message

Hui Chen

unread,
Mar 25, 2010, 12:45:50 AM3/25/10
to beaglebo...@googlegroups.com
Hi, Y'all,

I'm thinking about building a fast simulation environment for BeagleBoard. Since the ARM cortex a8 model is freely available at ovpworld.org [1], it could be extremely interesting to build a virtual simulation platform with TLM (Transaction-level Modeling [2]) and SystemC [3] (C++ plus some libraries for system level design). Then a lot debugging (boot-loader, kernel, driver) can be done in the simulation environment without hardware. Does anyone have experience with this?

I know this is possible because I was working (in a course) with a simulation environment built this way for the TLL5000 learning board [4] (with a TLL5000 daughter board [5]). The processor model was borrowed from OpenOVP and only a couple of thousands of lines of C++ code were written as "wrappers" and "connectors" to bind the CPU and other devices (CPLD, USB controller, memory, FPGA, etc) together. Such simulation environment could benefit design/debugging of boot loaders, kernel, driver and even user-space applications.

I'm also interested in working in the JTAG project [6]. I know from reading mailing list and wiki [7] that the current OpenOCD only supports limited functionality and is only capable to debug non-cache and non-mmu applications so it wouldn't work once kernel is loaded (thus can't debug kernel or applications under Linux). However, I'm not sure this is mainly because such functionalities haven't been implemented in OpenOCD or there are limits in the hardware itself that makes it currently impossible. Can anyone enlighten me on this?

Sincerely,
Hui

References:
[1] http://www.ovpworld.org/OVP_Open_Virtual_Platform/ARM-A8_CORTEX_models/
[2] http://en.wikipedia.org/wiki/Transaction-level_modeling
[3] http://en.wikipedia.org/wiki/SystemC
[4] http://129.116.230.50/TLL6219_User_Guide_Rev_3.0.pdf
[5] http://129.116.230.50/TLL5000_User_Guide_Ver1.3.pdf
[6] http://elinux.org/BeagleBoard/GSoC/Ideas#JTAG_debugging
[7] http://elinux.org/BeagleBoardOpenOCD

Søren Steen Christensen

unread,
Apr 9, 2010, 4:48:20 AM4/9/10
to beaglebo...@googlegroups.com
Hi Hui,
 
Sorry for this late reply - I know very little about the system modelling, so hereby just a minor commend about your question with respect to JTAG and Linux:
> I know from reading mailing list and wiki [7] that the current OpenOCD only supports limited functionality and is only
> capable to debug non-cache and non-mmu applications so it wouldn't work once kernel is loaded (thus can't debug
> kernel or applications under Linux). However, I'm not sure this is mainly because such functionalities haven't been
> implemented in OpenOCD or there are limits in the hardware itself that makes it currently impossible. Can anyone
> enlighten me on this?
 
There are no limitations in the actual HW making JTAG of a MMU enabled system (like running Linux kernel) impossible
- This is all a SW issue - Although one of the more difficult ones - I totally agree... :-)
 
Best regards
  Søren

 
2010/3/25 Hui Chen <usa....@gmail.com>
To unsubscribe from this group, send email to beagleboard-gsoc+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.

Hui Chen

unread,
Apr 9, 2010, 4:57:12 AM4/9/10
to beaglebo...@googlegroups.com
Hi, Søren,

Thanks for the reply. Do you have time to mentor the JTAG project this summer? If anyone can supervise this project I'm going to create a separate application. Hope it's not too late (deadline is today).

br,
Hui
--
Hui Chen
Graduate Research Assistant
Microelectronics Research Center
The University of Texas at Austin

Søren Steen Christensen

unread,
Apr 9, 2010, 6:55:32 AM4/9/10
to beaglebo...@googlegroups.com
Hi Hui,
 
I would say, that I would be happy to help co-mentoring it, but being main mentor would be too tough a task for me. Mainly because I'm totally new to GSoC and OpenOCD myself and I as well haven't much practical knowledge with Cortex A8 JTAG either. I know the fundamentals, the idea of the ICEPICK etc, but not in enough detail that I would find it realistics being main mentor on a project like this - Unfortunately.
 
In case somebody else with more insight in OpenOCD and Cortex-A8 JTAG can step in and being main mentor I would be happy to co-mentor and help (and learn) as much as I can :-)
 
Best regards - Sorry about this
  Søren

 
2010/4/9 Hui Chen <usa....@gmail.com>
Reply all
Reply to author
Forward
0 new messages