I want to load and boot the Image of Vxworks from ZC702 Zynq Platfrom QSPI flash - embedded

I want to load and boot the Image of Vxworks from ZC702 Zynq Platfrom QSPI flash, Can any one either point me to a step by step guide or a document which tells the:
1) Configuration needed to use SPI flash as the booting memory instead of SD card?
2)How to load Vxworks image into SPI flash ?

I have been struggling just to get a zc706 to boot from an SD card. I have found errors in the Windriver documentation but haven't figured out how to make it work though. That said if you have SD card working the VxWorks target.ref file in the BSP folder says:
3.7 Programming on board QSPI FLASH
Rename BOOT.Bin to bootrom.bin, then copy u-boot BOOT.BIN to the root directory
of a SD card. Type the following commands in the U-Boot shell.
mmcinfo;fatload mmc 0 0x8000000 bootrom.bin
sf probe 0
sf erase 0 0x0100000
sf write 0x08000000 0 0x0FFFFF
Note: if the bootrom size exceeds 0x100000 (1M), you should erase
one or more sectors and program more data to flash, for example:
sf erase 0 0x0200000
sf write 0x08000000 0 0x1FFFFF
change the switch settings to boot from qspi flash setting and reset board.
Also see the Xilinx Appnote Using VxWorks BSP with Zynq-7000 AP SoC
If you make headway let me know!

Related

Setup U-boot to use DTB embedded into the binary

I'm trying to configure U-boot to use a DTB that is embedded into the binary. I set CONFIG_OF_EMBED instead of CONFIG_OF_SEPARATE when building. The DTB seems to be properly embedded into the binary, since I can find it inside the binary, but eventually it fails on boot with a message:
No matching DT out of these options:
Configuration to load ATF before U-Boot
No matching DT out of these options:
Configuration to load ATF before U-Boot
mmc_load_image_raw_sector: mmc block read error
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
I'm using a fork of Boundary Devices U-boot https://github.com/boundarydevices/u-boot-imx6 branch boundary-v2018.07 on a Nitrogen8M board.
I boot the board using an i.MX8 bootable image created using imx-mkimage, which contains the a53 FIT image with ATF and U-Boot, separate SPL and HDMI/DDR firmwares.
What should I do to make U-boot recognize an embedded DTB, instead of a separate one provided in the FIT image?

How to boot the Linux kernel with initrd or initramfs with gem5?

With QEMU, I can use either use -initrd '${images_dir}/rootfs.cpio for the initrd, or pass the initramfs image directly to -kernel Image.
But if I try the initramfs image with gem5 fs.py --kernel Image it fails with:
fatal: Could not load kernel file
with the exact same initramfs kernel image that QEMU was able to consume.
And I don't see an analogue to -initrd.
The only method that I got to work was to pass an ext2 disk image to --disk-image with the raw vmlinux.
https://www.mail-archive.com/gem5-users#gem5.org/msg15198.html
initrd appears unimplemented on arm and x86 at least, since gem5 must know how to load it and inform the kernel about it's location, and grepping initrdonly shows some ARM hits under:
src/arch/arm/linux/atag.hh
but they are commented out.
Communicating the initrd to the kernel now appears to be simply doable via the DTB chosen node linux,initrd-start and linux,initrd-end properties, so it might be very easy to implement: https://www.kernel.org/doc/Documentation/devicetree/bindings/chosen.txt (and gem5's existing DTB auto generation) + reusing the infrastructure to load arbitrary bytes to a memory location: How to preload memory with given raw bytes in gem5 from the command line in addition to the main ELF executable?
Initramfs doesn't work because gem5 can only boot from vmlinux which is the raw ELF file, and the initramfs images only gets attached by the kernel build to a more final image type like Image or bzImage which QEMU can use to boot, see also: https://unix.stackexchange.com/questions/5518/what-is-the-difference-between-the-following-kernel-makefile-terms-vmlinux-vml/482978#482978
Edit: the following is not needed anymore after the patch mentioned at: How to attach multiple disk images in a simulation with gem5 fs.py? To do this test, I also had to pass a dummy disk image as of gem5 7fa4c946386e7207ad5859e8ade0bbfc14000d91 since the scripts don't handle a missing --disk-image well, you can just dump some random 512 bytes and use them:
dd if=/dev/zero of=dummy.iso bs=512 count=1

Using GNUradio audio sink in windows enviornment

I have just downloaded GNU Radio's installer for the windows environment and am having trouble with simple audio playback from a wav file.
The audio file will play but is 'choppy' and seems to be playing back at the wrong sample rate (difficult to tell for sure due to the intermittent audio). I am using the correct sample rate from the file (11.025kHz). I have also tried adding a throttle block between the file and the audio sink, although I know that is not recommended. I'm not sure if there are 'issues' with the port to Windows or if there is some additional hardware config needed (above what is typically done in Linux) Attached is a screen grab of the GNUradio flowgraph.
note: the same 'choppy' audio is heard when the wav file source block is replaced by a signal source block.
Image showing the internal data samples related to the second comment below:

Flashing WCE7 from USB on CCWi-i.MX53 JSK, uBoot

I have tried over at the digi forum, but I'm thinking that here is where all the clever people are :-)
I’m working on a CCWi-i.MX53 JSK. What I’m trying to figure out is - as you might have guessed - to flash a WCE image from an USB stick.
Based on
http://www.digi.com/support/kbase/kbaseresultdetl?id=3305
and
http://www.digi.com/support/forum/40385/mx53-jsk-with-windowc-how-boot-new-wce-from-microsd-using-uboot
my best guess is to either just
dboot wce usb 0:1 fat wce-CCXMX53
or setting the U-Boot command like
setenv bootcmd dboot wce usb 0:1 fat wce-CCXMX53
saveenv
reboot
None of the methods works for me. I’m getting:
Unknown command 'usb' - try 'help'
command usb reset failed
I’m using a freshly formatted FAT32 USB stick with only the wce-CCXMX53 file on it, in either of the J10 USB plugs.
Any help will be greatly appreciated. Thanks in advance!
Sidenote: dboot usage:
CCWMX53 # ? dboot
dboot - Digi modules boot commands
Usage:
dboot <os> [source] [extra-args...]
Description: Boots <os> via <source>
Arguments:
- os: a partition name or one of the reserved names:
linux|android|wce|netos|eboot
- [source]: tftp (default)|flash|nfs|usb|mmc|hsmmc|sata|ram
- [extra-args]: extra arguments depending on 'source'
source=tftp|nfs -> [filename]
- filename: file to transfer (required if using a partition name)
source=usb|mmc|hsmmc|sata -> [device:part filesystem] [filename]
- device:part: number of device and partition
- filesystem: fat|vfat|ext2|ext3
- filename: file to transfer
source=ram -> [image_address] [initrd_address] [initrd_max_size]
- image_address: address of image in RAM (default: linuxloadaddr, netosloadaddr, etc)
- initrd_address: address of initrd image (default: loadaddr_initrd)
- initrd_max_size: max. allowed ramdisk size (in kB) to pass to the kernel (default: kernel default)
If <os> is 'wce' the following bootargs are possible:
cleanhive
I am sorry I don't know dboot/wce. From my bootloader experience, you may play with the following command to read file from your USB stick to memory (without actually booting - losing control):
# fatload usb 1:1 (loadAddress) (bootfilename) # load your file to memory
# md (loadAddress) #dump memory content, which you can compare with your USB file
Booting process primarily comprises step1- reading an executable (OS) file from media(mmc/usb) to memory; step2- prepare environment(registers, parameter data in certain memory location, even rootfs in ramdisk...); step3- jump to the entry of executable file in step1.

Debian Camera isn't working

I have never before worked in Debian environment. I have some problem with camera, I was looking for answers but find nothing.
I am working in virtualbox, the camera is plugged through virtualbox. I am using is my laptop webcam, Lenovo EasyCamera. When I lauch program, for example cheese, I get this message :
jakub#debian:~$ cheese
OpenGL Warning: crPixelCopy3D: simply crMemcpy'ing from srcPtr to dstPtr
(cheese:3368): Gtk-WARNING **: Attempting to add a widget with type GtkImage to a GtkToggleButton, but as a GtkBin subclass a GtkToggleButton can only contain one widget at a time; it already contains a widget of type GtkLabel
libv4l2: error turning on stream: Brak miejsca na urządzeniu
** (cheese:3368): WARNING **: Error starting streaming on device '/dev/video0'.
** (cheese:3368): WARNING **: Could not negotiate format
When cheese is working, the diode from the cam is on, so camera is working, but why Debian cannot show me the image.
I hope you will know what to do. I appreciate your help.
It appears to be the same as this issue:
libv4l2: error turning on stream: No space left on device
You probably need to enable USB 2.0 in your virtual machine and pass the device into your guest OS using a high-speed USB host controller (EHCI).
You may need the VirtualBox Extension Pack, I remember it being required for USB 2.0 in the past. I can't find any current information about that, though, perhaps EHCI support is now included already.