Dear Forum members,
it has been a while since we last released a new version of VSOS. But this time it's going to be a big update, allowing compatibility with forthcoming VS1005 series ICs and smaller executable files. So, attached to this message is VSIDE version 2.43 which contains templates for VSOS 3.50.
We have put a lot of time and effort to create a version of VSOS where applications can be both small, efficient, as well as compatible between VS1005g, as well as future VS1005 series ICs like VS1005h. All of this can be achieved with VSOS 3.50.
By default, applications compiled with the new VSIDE 2.43 require VSOS 3.50 or newer to run. If you need to compile programs that are compatible with VSOS 3.45 or older, read the following post!
viewtopic.php?f=13&t=2203#p11643
If you are prepared to update to VSOS 3.50, then you will be able to recompile your applications and either get them running in smaller space, or make them independent of the VS1005 version you are using. Instructions for how to make your applications independent of VS1005 version are included in the following post:
viewtopic.php?f=13&t=2203#p11644
Instructions on how to select the correct project template for a new project is provided in the following post:
viewtopic.php?f=13&t=2203#p11645
There is a new set of the VSOS Root Image and Solutions package, which will be released tomorrow.
So, have fun, and let us know of any issues!
Kind regards,
- Henrik
PS. Don't forget to test the übercool text editor zoom feature! While in the VSIDE text editor, you can now zoom in or out by pushing Ctrl and rolling your mouse scroll wheel back and forth.
Latest VSOS Kernel (3.66) available here
VSOS Kernel 3.50 (as a part of VSIDE 2.43)
- Attachments
-
- vside_win32_v243.exe
- VSIDE 2.43, including templates for VSOS 3.50 for VS1005g.
- (14.69 MiB) Downloaded 822 times
Good signatures never die. They just fade away.
Root images and Libraries Source Code for VSOS 3.50
Hello!
Attached to this message are the Root Images and Libraries with Source Code for VSOS 3.50. Do note that they have all been compiled with the new VSIDE tools that allow for smaller binaries, so they all require VSOS 3.50 or higher to run, even if the README.TXT files are not in some cases updated!
Technically speaking these are all compiled as VS1005h Solutions / Projects. But don't be alarmed: Because of VSOS 3.50's new IC version independent software loader, they run on VS1005g, too! (There is one exception: old versions of the I2S drivers are offered in the SYS/ directories. Do not try to recompile them yet.)
This is a big change in software architecture. There is compatibility between ICs with different ROM versions. The new binary format is generally smaller than the old one, in some cases even significantly (amongst other things, Panu added BSS support to the linker and loader). This in turn will allow more programs on the 1 MiB / 2 MiB Internal / External Flash. We have tested the new programs between VS1005 versions, and everything seems to work. Still, there may be new bugs lurking, so if you find something that seems broken or out of the ordinary, please let us know!
Kind regards,
- Henrik
Attached to this message are the Root Images and Libraries with Source Code for VSOS 3.50. Do note that they have all been compiled with the new VSIDE tools that allow for smaller binaries, so they all require VSOS 3.50 or higher to run, even if the README.TXT files are not in some cases updated!
Technically speaking these are all compiled as VS1005h Solutions / Projects. But don't be alarmed: Because of VSOS 3.50's new IC version independent software loader, they run on VS1005g, too! (There is one exception: old versions of the I2S drivers are offered in the SYS/ directories. Do not try to recompile them yet.)
This is a big change in software architecture. There is compatibility between ICs with different ROM versions. The new binary format is generally smaller than the old one, in some cases even significantly (amongst other things, Panu added BSS support to the linker and loader). This in turn will allow more programs on the 1 MiB / 2 MiB Internal / External Flash. We have tested the new programs between VS1005 versions, and everything seems to work. Still, there may be new bugs lurking, so if you find something that seems broken or out of the ordinary, please let us know!
Kind regards,
- Henrik
- Attachments
-
- VSOS_350_RootAndLibrariesSourceCode.zip
- VSOS 3.50 Root images and Libraries with Source Code
- (7.99 MiB) Downloaded 850 times
Good signatures never die. They just fade away.
VSOS Kernel 3.51
Dear forum members,
Here are new versions of the VSOS Kernel 3.51. The new kernel allows loading binaries that have chip version specific portions which helps keeping forward compatibility in the future. Also the VSOS root images with source code are provided. Before using these, be sure to install VSIDE 2.43 that was realeased among VSOS Kernel 3.50!
Link to message containing VSIDE 2.43:
viewtopic.php?f=13&t=680&p=11638#p11638
Kind regards,
- Henrik
PS. This is my 1053rd message. VS1053 is a versatile and popular audio decoder that also contains HiFi-quality A/D converters as well as high-quality Ogg Vorbis / PCM encoding capabilities. It was also our first chip to decode AAC-LC profiles and FLAC.
Here are new versions of the VSOS Kernel 3.51. The new kernel allows loading binaries that have chip version specific portions which helps keeping forward compatibility in the future. Also the VSOS root images with source code are provided. Before using these, be sure to install VSIDE 2.43 that was realeased among VSOS Kernel 3.50!
Link to message containing VSIDE 2.43:
viewtopic.php?f=13&t=680&p=11638#p11638
Kind regards,
- Henrik
PS. This is my 1053rd message. VS1053 is a versatile and popular audio decoder that also contains HiFi-quality A/D converters as well as high-quality Ogg Vorbis / PCM encoding capabilities. It was also our first chip to decode AAC-LC profiles and FLAC.
- Attachments
-
- VSOS_351g_ExtFlash.zip
- VSOS 3.51 for 2 MiB external flash.
- (262.34 KiB) Downloaded 699 times
-
- VSOS_351g_IntFlash.zip
- VSOS 3.51 for 1 MiB internal flash.
- (262.23 KiB) Downloaded 745 times
-
- VSOS_351_RootAndLibrariesSourceCode.zip
- VSOS 3.51 root images as well as source code for the applications and libraries.
- (8.2 MiB) Downloaded 794 times
Good signatures never die. They just fade away.
Re: Latest VSOS Kernel (3.52) available here.
Hello!
Here's another fast update. In some cases inserting an SD card with an unknown file system could lead to file descriptors disappearing which would practically lock up the system. This would particularly happen with HiResRec if an exFAT-formatted SD card was inserted. VSOS 3.52 corrects for this. As before, use the latest VSIDE 2.43 to compile the new VSOS. VSIDE is available in this message:
viewtopic.php?f=13&t=680&p=11638#p11638
Format.dl3 has been enhanced: before it could not format disks that contained unknown file systems like exFAT, which kind of defeated its purpose, but this has now been corrected.
Kind regards,
- Henrik
Here's another fast update. In some cases inserting an SD card with an unknown file system could lead to file descriptors disappearing which would practically lock up the system. This would particularly happen with HiResRec if an exFAT-formatted SD card was inserted. VSOS 3.52 corrects for this. As before, use the latest VSIDE 2.43 to compile the new VSOS. VSIDE is available in this message:
viewtopic.php?f=13&t=680&p=11638#p11638
Format.dl3 has been enhanced: before it could not format disks that contained unknown file systems like exFAT, which kind of defeated its purpose, but this has now been corrected.
Kind regards,
- Henrik
- Attachments
-
- VSOS_352g_ExtFlash.zip
- VSOS 3.52 for 2 MiB external flash.
- (262.47 KiB) Downloaded 716 times
-
- VSOS_352g_IntFlash.zip
- VSOS 3.52 for 1 MiB internal flash.
- (262.25 KiB) Downloaded 726 times
-
- VSOS_352_RootAndLibrariesSourceCode.zip
- VSOS 3.52 root images as well as source code for the applications and libraries.
- (8.24 MiB) Downloaded 1339 times
Good signatures never die. They just fade away.
Re: Latest VSOS Kernel (3.53) available here.
Hello!
Another week, another update to the VSOS Kernel.
VSOS Kernel v3.53 has a speed optimization when writing long cluster chains to a FAT32 device, which makes it snappier when the new HiRes Recorder application finalizes its audio files. If you don't use the HiRes recorder, you probably don't need to update to this version.
Whether you update the kernel to 3.53 or not, you might want to have a look at some updated utilities in the VSOS Root and Libraries with Source Code Package:
Kind regards,
- Henrik
Another week, another update to the VSOS Kernel.
VSOS Kernel v3.53 has a speed optimization when writing long cluster chains to a FAT32 device, which makes it snappier when the new HiRes Recorder application finalizes its audio files. If you don't use the HiRes recorder, you probably don't need to update to this version.
Whether you update the kernel to 3.53 or not, you might want to have a look at some updated utilities in the VSOS Root and Libraries with Source Code Package:
- Dir has a new -v verbose option that lets the user look through the cluster chains of files (useful for debgging).
- DiskFree has a new double verbose -v -v option that shows the allocation map of a disk.
- FatInfo has some bug fixes.
- The SDSD and SDSD23 driver sets handle removing and reinserting SD cards more gracefully.
Kind regards,
- Henrik
- Attachments
-
- VSOS_353g_ExtFlash.zip
- VSOS 3.53 for 2 MiB external flash.
- (263.02 KiB) Downloaded 695 times
-
- VSOS_353g_IntFlash.zip
- VSOS 3.53 for 1 MiB internal flash.
- (262.83 KiB) Downloaded 700 times
-
- VSOS_353_RootAndLibrariesSourceCode.zip
- VSOS 3.53 root images as well as source code for the applications and libraries
- (8.26 MiB) Downloaded 825 times
Good signatures never die. They just fade away.
Appending and Updating files corrected
FYI,
we have internally solved two long-standing issues that have been nagging our file system operations:
These changes are now being tested, and will be included to our next VSOS release. But if someone needs the new features now, let us know in a separate thread, and we will make a test release sooner.
Kind regards,
- Henrik
we have internally solved two long-standing issues that have been nagging our file system operations:
- Seeking in files that are being written to.
- Updating and appending to files: in addition to modes "r" and "w", fopen() can now also handle "w+", "r+", "a", and "a+".
These changes are now being tested, and will be included to our next VSOS release. But if someone needs the new features now, let us know in a separate thread, and we will make a test release sooner.
Kind regards,
- Henrik
Good signatures never die. They just fade away.
Re: Latest VSOS Kernel (3.54) available here.
Hello!
Still going on with frequent updates of the VSOS kernel. New things for VSOS 3.54:
There are no significant changes in the VSOS Root and Libraries Source Code package, except that the HiRes Recorder and documentation for the VSOS Shell has been updated.
Kind regards,
- Henrik
Still going on with frequent updates of the VSOS kernel. New things for VSOS 3.54:
- Seeking in files that are being written to supported.
- Updating and appending to files supported: in addition to modes "r" and "w", fopen() can now also handle "w+", "r+", "a", and "a+".
Note that writing to the centre of the file may be slow if either:- Writes are not aligned with 512 bytes.
- Write size is not a multiple of 512 bytes.
- Symbols added for more efficient Ogg Vorbis encoder.
There are no significant changes in the VSOS Root and Libraries Source Code package, except that the HiRes Recorder and documentation for the VSOS Shell has been updated.
Kind regards,
- Henrik
- Attachments
-
- VSOS_354g_ExtFlash.zip
- VSOS 3.54 for 2 MiB external flash.
- (264.46 KiB) Downloaded 740 times
-
- VSOS_354g_IntFlash.zip
- VSOS 3.55 for 1 MiB internal flash.
- (264.25 KiB) Downloaded 767 times
-
- VSOS_354_RootAndLibrariesSourceCode.zip
- VSOS 3.55 root images, source code for the applications and libraries, and documentation
- (8.26 MiB) Downloaded 915 times
Good signatures never die. They just fade away.
Re: Latest VSOS Kernel (3.54) available here.
As has been noted in another thread, VSOS 3.54 reports itself as VSOS 3.53. To fix that, you can change the version number in kernel_abs.s from 353 to 354.
Kind regards,
- Henrik
Kind regards,
- Henrik
Good signatures never die. They just fade away.
Re: lcd288.dl3 and lcd288v.dl3
Hello!
Attached to this message are current versions of the 2.88" ILI9341 LCD drivers, both horizontal and vertical versions, with source code. They now compile universal binaries and require at least VSOS 3.50 to run. If you need to compile for an older version of VSOS, see the instructions here:
viewtopic.php?f=13&t=680&p=11902#p11638
Kind regards,
- Henrik
Attached to this message are current versions of the 2.88" ILI9341 LCD drivers, both horizontal and vertical versions, with source code. They now compile universal binaries and require at least VSOS 3.50 to run. If you need to compile for an older version of VSOS, see the instructions here:
viewtopic.php?f=13&t=680&p=11902#p11638
Kind regards,
- Henrik
- Attachments
-
- lcd288.zip
- ILI9341 2.88" LCD driver, horizontal orientation.
Compatible with VSOS 3.50 and higher. - (15.22 KiB) Downloaded 698 times
-
- lcd288v.zip
- ILI9341 2.88" LCD driver, vertical orientation.
Compatible with VSOS 3.50 and higher. - (15.24 KiB) Downloaded 700 times
Good signatures never die. They just fade away.
VSOS Kernel 3.55
Dear VS1005 users,
The VSOS linker that's currently distributed in the VSIDE package generates checksum records in the binaries that it creates, but so far the code to check for those errors has only been included in some experimental kernels when we've had to deal with unreliable memories. Of course it would be nice to check for everything that can possibly go wrong and give meaningful error information to developers. Sometimes you can, sometimes it's too expensive. After all, if you're going to make an operating system that fits into 12 kilowords of RAM you don't want it to do anything that's not absolutely necessary, and my position has been that the correctness of system memory should be trustable as there's no error recovery from its failure.
But upon receiving a failure report that can only be explained by a corrupted binary, I took another look at the error checking code and was able to simplify it significantly. And thus I came to the conclusion that the cost is not too big to include it into the stock kernel code. So here is a new version of VSOS kernel, version 3.55 for both internal and external flash. This version of the kernel checks for bit errors in the file as it is loaded.
As an experiment, I took a working DL3 file, changed one random bit in a hex editor and saved it as "ERROR.DL3". When loaded, the kernel ouputs:
Hoping this will be useful,
Panu
The VSOS linker that's currently distributed in the VSIDE package generates checksum records in the binaries that it creates, but so far the code to check for those errors has only been included in some experimental kernels when we've had to deal with unreliable memories. Of course it would be nice to check for everything that can possibly go wrong and give meaningful error information to developers. Sometimes you can, sometimes it's too expensive. After all, if you're going to make an operating system that fits into 12 kilowords of RAM you don't want it to do anything that's not absolutely necessary, and my position has been that the correctness of system memory should be trustable as there's no error recovery from its failure.
But upon receiving a failure report that can only be explained by a corrupted binary, I took another look at the error checking code and was able to simplify it significantly. And thus I came to the conclusion that the cost is not too big to include it into the stock kernel code. So here is a new version of VSOS kernel, version 3.55 for both internal and external flash. This version of the kernel checks for bit errors in the file as it is loaded.
As an experiment, I took a working DL3 file, changed one random bit in a hex editor and saved it as "ERROR.DL3". When loaded, the kernel ouputs:
There's one notable shortcoming in the optimized error checking mechanism: it's done only after loading the file. So when any error is detected, the memory may already be irrevocable corrupted. So that's why, when a loader error is detected, it's a fatal error and execution of the core is stopped. But this should at least give you immediate information about which binary is corrupted so that execution does not continue and generate random and undecipherable errors further on.S:>error
E'Corrupt lib ERROR.DL3'
1 fatal errors. Stop.
Hoping this will be useful,
Panu
- Attachments
-
- VSOS_355g_Extflash_and_Intflash.zip
- VSOS Kernel version 3.55g. VSIDE Solution with source code.
- (520.45 KiB) Downloaded 836 times
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo
Panu-Kristian Poiksalo