X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=/DaaamCEv816CRwavxEate5IlfDO3a/414P8HrVOqO4=; b=lAMyNPciPxgTbb2chIBvAFLqGyqlITLQ0S+U21jWVjDGxOaF9vEDrAALvDQoyg0M9F wE2tPSJRJuHL01A/BSqgLwHMhsWPREkoZgtm+aQI7WG28BRZjMD+ml5B39dwuxo12tLZ taKY3zxBCU3hYgl+BWlLOmL2orC7EhDXsZmFPXBn8btOdHaxRho9yhYGOfAjwB957QRa AgJJY6NLUhi3dAlY1KKqbaaI39otewBQpZgPuzPfT/siNPhvgbL7mAghQIPk4jhmGccS 2lx0AMt2lLpG0Yj9N6EeBFEE5Cf4lxUGmL259C2rVs3KziPamk2HqHZbUwSlw+2gHqsj VUBA== MIME-Version: 1.0 X-Received: by 10.52.165.239 with SMTP id zb15mr18975222vdb.44.1373569855752; Thu, 11 Jul 2013 12:10:55 -0700 (PDT) In-Reply-To: <51DEFB77.8090905@sonic.net> References: <51DEFB77 DOT 8090905 AT sonic DOT net> Date: Thu, 11 Jul 2013 15:10:55 -0400 Message-ID: Subject: Re: [geda-user] Help storing a 7KB wave file into memory From: Rob Butts To: geda-user AT delorie DOT com Content-Type: multipart/alternative; boundary=001a11c24eb053924e04e14127f4 Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk --001a11c24eb053924e04e14127f4 Content-Type: text/plain; charset=ISO-8859-1 BTW -- Now would be a good time to take a quick peek at how many bytes your audio file is, and how much flash space you have in your microcontroller. The raw file is 6.8 kB which I would provide eeprom for. With AVR's, you would typically put just enough linkage dictionary around the binary blob to create a data section (using a simple tool). That is quite a mouth full. Linkage dictionary? I'm learning a lot just from this question. I don't use linux much only for schematic capture and board layout. From going through the emacs info I learned that it can be an IDE. Is this an IDE that most people use to write c code in? I should be able to write a short c program to read that file correct? I'm currently trying to learn more about emacs. Thanks for your help. On Thu, Jul 11, 2013 at 2:37 PM, Dave Curtis wrote: > On 07/11/2013 10:15 AM, Rob Butts wrote: > > All good questions! > > I'm not sure how I'm going to read that file into memory. At this point > I'd like to see what is in it and thought it might help me figure out how > to read it into memory. > > I'll be using a microchip micro. I've never done anything like this so > I'm just trying to figure it out. > > What you have is a binary data file that you want to flash into the > microprocessor somehow, in such a way that your program can find it. I know > how to do this for AVR's... but don't use Microchip processors, so you'll > need to find the equivalent. > > You have two issues to solve: > > 1) get the binary data into a format that can be incorporated into the > binary image of your program, at which point the programmer should be happy > to stuff it into the chip. > > 2) make the address of the binary data available to your program as a > pointer. > > With AVR's, you would typically put just enough linkage dictionary around > the binary blob to create a data section (using a simple tool). This > becomes just another .o into the linker. The C program makes an external > reference to the beginning of the data section to set a pointer. Drop the > whole works into the linker so that it can sew together the external > references, and from there on its just the normal flow for flashing an > image. > > BTW -- Now would be a good time to take a quick peek at how many bytes > your audio file is, and how much flash space you have in your > microcontroller. > > -dave > > > > > > > On Thu, Jul 11, 2013 at 12:37 PM, Gareth Edwards < > gareth AT edwardsfamily DOT org DOT uk> wrote: > >> On 11 July 2013 17:17, Rob Butts wrote: >> > That gave me a .raw file but I can't open it to see the data and if I >> double >> > click on the file I get an Open With window suggesting a slew of >> > applications. >> > >> >> The bytes of that file are the bytes of the audio data. Why do you >> need to see them? (hexl-mode in Emacs or any other hex editor will let >> you if you really think you need to) >> >> You said you were going to "store it in memory on a board and then >> DtoA it to a speaker when needed." - how do you intend to get it into >> the board memory? >> > > > --001a11c24eb053924e04e14127f4 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
BTW -- Now would be a good time to take a q= uick peek at how many bytes your audio file is, and how much flash space you have in your microcontroller.

The raw file is 6.8 kB which I would prov= ide eeprom for.

With AVR's, you would typically put just enough = linkage dictionary around the binary blob to create a data section (using a simple tool).

That is quite a mouth full.=A0 Linkage dictionary?= =A0

I'm learning a lot just from this question.=A0 I don't = use linux much only for schematic capture and board layout.=A0 From going t= hrough the emacs info I learned that it can be an IDE.=A0 Is this an IDE th= at most people use to write c code in?=A0 I should be able to write a short= c program to read that file correct?=A0 I'm currently trying to learn = more about emacs.

Thanks for your help.

On Thu, Jul 11, 2013 at 2:37 PM, Dave Curtis <davecurtis AT sonic DOT net> wrote:
=20 =20 =20
On 07/11/2013 10:15 AM, Rob Butts wrote:
All good questions!

I'm not sure how I'm going to read that file into memory.= =A0 At this point I'd like to see what is in it and thought it might help me figure out how to read it into memory.

I'll be using a microchip micro.=A0 I've never done anythin= g like this so I'm just trying to figure it out.
What you have is a binary data file that you want to flash into the microprocessor somehow, in such a way that your program can find it. I know how to do this for AVR's... but don't use Microchip processors, so you'll need to find the equivalent.

You have two issues to solve:

1) get the binary data into a format that can be incorporated into the binary image of your program, at which point the programmer should be happy to stuff it into the chip.

2) make the address of the binary data available to your program as a pointer.

With AVR's, you would typically put just enough linkage dictionary around the binary blob to create a data section (using a simple tool). This becomes just another .o into the linker.=A0 The C program makes an external reference to the beginning of the data section to set a pointer.=A0 Drop the whole works into the linker so that it can sew together the external references, and from there on its just the normal flow for flashing an image.

BTW -- Now would be a good time to take a quick peek at how many bytes your audio file is, and how much flash space you have in your microcontroller.

-dave


=A0


On Thu, Jul 11, 2013 at 12:37 PM, Gareth Edwards <gareth AT edwardsfamily DOT org DOT uk> wrote:
On 11 July 2013 17:17, Rob Butts <r DOT butts2 AT gmail DOT com> wrote:
> That gave me a .raw file but I can't open it to see the data and if I double
> click on the file I get an Open With window suggesting a slew of
> applications.
>

The bytes of that file are the bytes of the audio data. Why do you
need to see them? (hexl-mode in Emacs or any other hex editor will let
you if you really think you need to)

You said you were going to "store it in memory on a board and then
DtoA it to a speaker when needed." - how do you intend to get it into
the board memory?



--001a11c24eb053924e04e14127f4--