From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 3 Nov 2010 01:57:25 -0400 From: Bhanu Nagendra Pisupati To: 9fans@9fans.net In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (LRH 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Subject: Re: [9fans] JTAG Topicbox-Message-UUID: 763c4cae-ead6-11e9-9d60-3106f5b1d025 > I am not sure this fits into a /proc kind of interface because > JTAG lets you access the bare hardware. Nemo has just pointed to me > that a process is not the > same as a running kernel, and maybe the abstraction does not fit that > well. Often cross debugging of embedded systems does not take place on a per process basis. Breakpoints for instance are set at the address within flash where the relevant code resides, and gets hit whenver code at that address gets executed (irrespective of executing process). This assumes that the code executes in place within flash - things get a bit more complicated when the code is copied to RAM and then executed. Therefore all you need to do to facilitate cross debugging is to provide some means to access registers/memory, control execution, set breakpoints and so on. You don't typically need to enable this on a per process basis. > Could one (is is this the plan) to generate a /proc like virtual file system > for jtag so acid will then work over jtag? As part of our research work, we had some success exploring a similar sort of idea to facilitate cross debug embedded code. The model we used is as follows: debugger <-- RS232 link --> 9P virtual filesystem <-- JTAG --> ARM7 HOST SIDE EMBEDDED SIDE A 9P virtual filesystem (implemented on the embedded side) encapsulates JTAG based debug interface for an ARM7 device. The PC side debugger mounts this filesystem, and uses it to perform typical debugging tasks such as access register/memory valus, control execution and so on without having to deal with any JTAG messiness. For anybody who's curious to learn more: http://www.cs.indiana.edu/pub/techreports/TR647.html/embed.html