Jump to content

squalyl

Members
  • Content Count

    18
  • Joined

  • Last visited

  • Days Won

    1

squalyl last won the day on October 23 2012

squalyl had the most liked content!

About squalyl

  • Rank
    Member

Profile Information

  • Gender
    Not Telling
  1. squalyl

    Read CD Audio with Stellaris.

    Else you will need 16+ GPIOs to drive the data bus, RD, WR, CS, etc... http://en.wikipedia.org/wiki/Parallel_ATA A digital audio stream is at least 44100sps * 2ch * 2bytes/sample = 176400 bytes per second that will have to be sent to an audio DAC via I2S. This seems doable but not interesting. You can still use the IDE interface to emit audio playback events (start, stop, seek) and read the TOC (track duration etc) but you'd better use a cd drive with an analog output. it was quite common in the IDE days. Some of them even have a TTL SPDIF output.
  2. Small update: beware of the GPIODATA register Adress lines 9..2 act as a mask, so it's useless to write at GPIODATA+0x000 See page 608 of datasheet... The LM4F is the first microprocessor that forces me to do that much RTFM!
  3. Yes, we crossed messages ! as always, writing about my problem made me find it. I'm now setting the correct bit in GPIOHBCTL, and it works \o/ So guys, in order to access GPIO via the AHB addresses, you have to set the correct bit for your port in the GPIOHBCTL register, address 0x400fe000+0x06C , page 247 of datasheet ! Hope it can be useful to someone else!
  4. hello I'm playing with my stellaris launchpad, I got openocd 0.7.0 working and I'm trying to write my own GPIO init code. I wrote this generic routine to initialize the uart pins. I've defined several flags, and according to the value of these flags, I'm attempting to write the appropriate GPIO configuration registers. For that, I'm using the AHB access method, writing to BASE+OFF where OFF is the offset of the required register (eg #define LM4F_GPIO_GPIODIR 0x400 // GPIO Direction) BASE is 0x40058000 + (port<<16) I'm using this because it's easier to compute the port base address. Note that this method is using the AHB bus. The other method, which I'm not using, relies on the APB bus, with a different base address, and an ugly hack for PE and PF. However, this does not work, what I get is a hardfault. With a combination of google searches, I've managed to determine that (hfsr = 1073741824= 0x40000000) => this is a forced hard fault (cfsr = 33280 = 0x00008200) => BFSR=0x82 this is an unhandled Bus Fault, BFAR is valid and this is a precise data bus error. PC correctly points to the faulting instruction, which is ldr r1, [r2, #0] with: r2 = 1074103296 = 0x40058400 which is the GPIO register I'm trying to read, before changing it and writing it back later. I can confirm this is the failing address because bfar = 1074103296 = 0x40058400 Okay... So I'm wondering WHY I can't access the GPIO registers this way. Is this an "errata issue" ? Do I have to set something up before accessing AHB registers? I have already set the correct bit in the the RCGCGPIO register at 0x400FE000 + 0x608 with no problem, so the GPIO peripheral shall be working. Do you have any idea before I rewrite my code to use the APB? (please don't tell me that stellaristupperware already does this, because in my context, I cannot and will not use that). Best regards edit: this should work, see here: http://e2e.ti.com/support/microcontrollers/stellaris_arm/f/471/t/60248.aspx edit 2: SysCtlGPIOAHBEnable(SYSCTL_PERIPH_GPIOF); haha. I knew it. Now I need to write code for that. Going to read the datasheet again.
  5. squalyl

    Change the site name.

    ./3 oh, I didn't realize that! nice idea
  6. squalyl

    Multi-Lingual Forum Section

    thank you !
  7. squalyl

    Multi-Lingual Forum Section

    hello, I had the idea to start a french stellaris forum. But I have no time to manage it properly, and the activity is not so high, so I closed it. So I think a multilingual section is a more efficient way of doing things. Then maybe, could I redirect my DNS entry to the french speaking section?
  8. squalyl

    Couldn't read GPIO pin of stellaris (push buttons)

    why don't you refer to the real reference, the datasheet? This is a must-read, this issue is clearly explained in the GPIO chapter. I don't mean "read through the 1200 pages in a row", but "open the chapter for the module you're using and rtfm!".
  9. I made something close: a zero-dollar veroboard booster pack from drawer parts: Obviously It's juste a base for something else
  10. squalyl

    Linux on Stellaris M3 - Is this real?

    so what can you run with that? bash? what more?
  11. squalyl

    Internet of things

    if you want to play with 802154 there is the MRF24J40 module from Microchip. At farnell it's €8. I'm actually planning a boosterpack using this thing.
  12. squalyl

    What arm-gcc toolchain are you using ?

    Hello, I'm actually using the official toolchain from ARM on launchpad. I have no problem to compile code. Did not execute anything yet, because I'm working on other things in parallel. regards
  13. squalyl

    Linux Tool Chain Options

    I just did like the github project. TARGET=arm-none-eabi the prefix is /opt/stella Do you have a preference for $PREFIX? the binaries have "natural" names, do arm-none-eabi-gcc et al. I know one can create a relocatable toolchain so that it does not depend on the prefix and can be installed elsewhere, I don't remember how to do this at the moment. I also cross-built binutils for mingw, working on gcc now.
  14. squalyl

    Linux Tool Chain Options

    Based on the makefile from the github project above, I could build a native "vanilla" toolchain from official sources, with just two little glitches: -I have to manually create a $PREFIX/arm-none-eabi/usr/include folder before building gcc the second time, or it won't build! (but nothing gets installed there) I get a pretty message: "the directory that should contain system headers does not exist", but no one on the intarwebs seems to have a satisfying solution. I don't want to patch sources, the goal is to build from official tarballs. -ld cannot find crt0.o when running arm-none-eabi-gcc trivial.c (with an empty main function), but gcc -c does work. That may not be required for our platform. I used: binutils 2.22 gcc 4.7.2 (dependencies gmp 5.0.0 and mpfr 3.1.1) newlib 1.20.0 I will retry the build in a clean VM in an attempt to reproduce the issues, then attempt to cross build the toolchain for mingw. I did that before for cegcc.
  15. squalyl

    Stellaris gcc compile on linux.

    Okay, I'm building one now. I expected some patches to be required. thanks!
×