Programming VS1005 Breakout Board

Discussion about writing software for VS1005 and the VSOS Operating System. Also posts about VS1005-related hardware design and device drivers should be posted here.
Post Reply
tianyi
User
Posts: 4
Joined: Thu 2019-05-09 4:27

Programming VS1005 Breakout Board

Post by tianyi » Thu 2019-05-09 6:01

Hi everyone,

I recently purchased a VS1005 BoB 2.0 in the hope of being able to program some software on it using VSIDE. However, I have met with some issues.

1) VSIDE 2.46 only has VSOS 3.50 drivers loaded, however VSOS 3.57 is available. Where in the VSIDE folder on my PC do I put the VSOS 3.57 files so that they will be selectable when I create a new solution?

2) As per instructions on the VS1005 BoB 2.0 User Instructions, I have wired up the UART - USB cable as follows:
- GND to the bottom-right corner of the board (as it's stated the extreme 4 pins on all 4 corners of the board are GND)
- RX (green) to pin 37 of the VS1005 BoB
- TX (white) to pin 38 of the VS1005 BoB. I did this directly and without a pull-up resistor to IOVDD. (Although the schematic for the BoB Programmerboard in this viewtopic.php?f=13&t=2210&p=12271&hilit=breakout#p12271 thread seems like a 100k resistor is required?)
- Red pin to pin 4 of VS1005 BoB.
- I did not connect any microSD card to the slot, don't have one on hand right now.

Connecting to Termite with Baud rate 115200bps/8N1/No Handshake shows this:

Code: Select all

E: Can't open D:AUDIO/
W: Please insert SD Card!
E'SD Card not found'
E'Retry with 1-bit mode'
E'SD Card not found'
E'SD Card not found'
E'Retry with 1-bit mode'
E'SD Card not found'
E'Device not open'
E'no path in fname'
E'Seek'
Which should be expected, since I did not connect an SD card, right?

The user instructions, as well as the Programmerboard schematic, point to pulling D0/GPIO0-0 (pin 9) to HIGH using IOVDD to simulate pressing S1 at startup, effectively allowing the internal flash of the VS1005 to be displayed as a removable device in the PC.

I connected Pin 9 to IOVDD and connected the UART - USB cable to my PC.
Nothing happens. There is nothing in Termite, and no removable storage devices are detected in Windows Explorer.

What have I done wrong? Do I need to flash anything to the BoB first? If so, how?

3) Lastly, section 6 of the VS1005 BoB User Instructions states, for flashing a new kernel:
- Connect UART cable as described in sections 1-2
- Exit from HiRes recorder with Ctrl+C.
- Start vs3emu monitor with command vs3emuc.
- Close serial terminal.
- Run internal flash prommer from VSIDE to update the kernel.

a) Where do I input the Ctrl + C command?
b) Where do I input the vs3emuc command?
c) Autodetect on my computer is unable to detect the VS1005 BoB when I run the Internal Flash Prommer utility. Are there reasons for this?


I apologise, this is quite a lengthy post! I am new to programming in general, thank you for your guidance!
tinkerthinker

User avatar
Panu
VLSI Staff
Posts: 2650
Joined: Tue 2010-06-22 13:43

Re: Programming VS1005 Breakout Board

Post by Panu » Fri 2019-05-10 11:59

Hi!
GPIO0-0 (pin 9) to HIGH using IOVDD to simulate pressing S1 at startup, effectively allowing the internal flash of the VS1005 to be displayed as a removable device in the PC. ... I connected Pin 9 to IOVDD and connected the UART - USB cable to my PC. Nothing happens. There is nothing in Termite, and no removable storage devices are detected in Windows Explorer. ... What have I done wrong?
You need to give a RESET to the board after simulating S1 press. Cutting power is a crude but effective way to do this - later you can use more refined methods.
a) Where do I input the Ctrl + C command? b) Where do I input the vs3emuc command?
To the VSOS command line prompt, e.g. UART0, but ONLY if you want to flash a new kernel.
c) Autodetect on my computer is unable to detect the VS1005 BoB when I run the Internal Flash Prommer utility. Are there reasons for this?
Yes, the board is not running in the VS3EMU connection mode (vs3emuc).

Don't worry, it will get clearer once you get something working. I know it may feel confusing now.

During normal firmware development you DON'T prom the SPI flash, you DON'T update the kernel. You reboot the card into USB mass storage mode and copy your program files (*.DL3) to the board using USB.

-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

tianyi
User
Posts: 4
Joined: Thu 2019-05-09 4:27

Re: Programming VS1005 Breakout Board

Post by tianyi » Tue 2019-05-14 3:23

Hi Panu! Thank you for the reply.

I made another thread where VSIDE didn't compile for me. After removing Arduino IDE from my computer, it did manage to compile successfully. :?
You need to give a RESET to the board after simulating S1 press. Cutting power is a crude but effective way to do this - later you can use more refined methods.
That's what I have been doing, sorry if I was unclear. I tried simulating a S1 press by bringing GPIO0-0 to HIGH and bringing RESET LOW. Yet, nothing happens.

I also tried entering the VSOS SHELL by pressing Ctrl + C after a reset, quitting the HiRes Recorder application. This works, and I am able to enter vs3emuc mode. I flashed VSOS 3.57 kernel successfully. However, some commands as stated in the VSOS Shell guide do not work.
Most notably, stuff like "ls" and "usbmsc d" don't work. The VSOS Shell returns "xx command not found" where xx is the command inputted. I thus can't get the VS1005 to get into mass storage mode (both S: and D:) to even begin copying program files to it.

Is there something I'm missing?
tinkerthinker

Hannu
Senior User
Posts: 58
Joined: Mon 2016-05-30 11:54

Re: Programming VS1005 Breakout Board

Post by Hannu » Tue 2019-05-14 8:37

You don't have ls.dl3 or usbmsc.dl3 installled on your board.

ls is lighter version of dir. The tricky thing about usbmsc is that even if you had it, there wouldn't be enough memory for usbmsc to load after the board has been set up for hiresrec.

Fortunately you can boot to usb mass storage with SD-card by holding S1 and S2 buttons (GPIO0_0 and GPIO0_1) high while resetting. And S-1 will bring the internal flash for you.

Post Reply