Difference between revisions of "1012 NVIDIA TK1"
(→Compiling the kernel modifications) |
|||
Line 143: | Line 143: | ||
=== Compiling the kernel modifications === | === Compiling the kernel modifications === | ||
+ | ---- | ||
− | + | ||
+ | Get the source of the kernel being used. | ||
$ wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/source/kernel_src.tbz2 | $ wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/source/kernel_src.tbz2 | ||
Line 150: | Line 152: | ||
$ zcat /proc/config.gz > ~/kernel/.config | $ zcat /proc/config.gz > ~/kernel/.config | ||
− | + | Customize the kernel. | |
a) Add universe repository | a) Add universe repository | ||
Line 163: | Line 165: | ||
deb-src http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe | deb-src http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe | ||
− | + | Save and exit | |
$ sudo apt-get update | $ sudo apt-get update | ||
− | + | Make changes | |
$ sudo apt-get install libncurses5-dev | $ sudo apt-get install libncurses5-dev | ||
Line 173: | Line 175: | ||
$ make menuconfig | $ make menuconfig | ||
− | + | Set Contiguous Memory Allocation to 64Mb | |
− | + | in menuconfig "y" turns a entry on <enter> goes into sub menus | |
− | + | <esc><esc> gets out of sub menus | |
− | + | "-gdacac96" is the local version of R21.4 | |
General setup <enter> | General setup <enter> | ||
− | |||
Local version <enter> -gdacac96<enter> | Local version <enter> -gdacac96<enter> | ||
<esc><esc> | <esc><esc> | ||
Device Drivers <enter> | Device Drivers <enter> | ||
− | |||
− | |||
Generic Driver Options <enter> | Generic Driver Options <enter> | ||
− | |||
Size in Mega Bytes <enter> 64 <enter> | Size in Mega Bytes <enter> 64 <enter> | ||
<esc><esc> | <esc><esc> | ||
Line 195: | Line 193: | ||
<esc><esc> | <esc><esc> | ||
− | + | Save and exit | |
− | + | ||
+ | Increase coherent memory pool | ||
$ sudo gedit /boot/extlinux/extlinux.cof | $ sudo gedit /boot/extlinux/extlinux.cof | ||
− | + | Add to the end of the last line | |
coherent_pool=32M | coherent_pool=32M | ||
− | + | Save and exit | |
− | + | Install the changes | |
$ make -j4 | $ make -j4 | ||
Line 213: | Line 212: | ||
$ sudo cp ~/kernel/arch/arm/boot/zImage /boot/zImage | $ sudo cp ~/kernel/arch/arm/boot/zImage /boot/zImage | ||
− | + | Get Mplayer for the demo | |
$ sudo apt-get install libasound2-dev zlib1g-dev libxv-dev | $ sudo apt-get install libasound2-dev zlib1g-dev libxv-dev | ||
Line 224: | Line 223: | ||
$ sudo make install | $ sudo make install | ||
− | + | Restart | |
$ sudo reboot | $ sudo reboot | ||
− | + | Get the driver for Sensoray 1012. version 1.1.9 needs to be modified to work on TK1 | |
$ cd ~/ | $ cd ~/ | ||
Line 239: | Line 238: | ||
$ getit ./TW68-core.c | $ getit ./TW68-core.c | ||
− | + | at line 1306 add: NOTE: Ctrl+F “pci_enable_” will take you there | |
if (pci_assign_resource(pci_dev,0)){ | if (pci_assign_resource(pci_dev,0)){ | ||
Line 255: | Line 254: | ||
1310 if (pci_enable_device(pci_dev)){ | 1310 if (pci_enable_device(pci_dev)){ | ||
− | + | save and exit | |
− | + | Load the driver | |
$ make | $ make | ||
Line 263: | Line 262: | ||
$ sudo make load | $ sudo make load | ||
− | + | Run the demo | |
$ cd ~/ | $ cd ~/ | ||
$ ~/sdk_812_1.1.9_linux/demo-sample/PyGTK/demoSX12.py | $ ~/sdk_812_1.1.9_linux/demo-sample/PyGTK/demoSX12.py |
Revision as of 14:23, 14 December 2015
This page will guide you in using the Sensoray Model 1012 with NVIDIA tegra k1 development boards.
A modified kernel and driver are required.
The modified kernel can be flashed onto the TK1 from the development PC, installed by the TK1 or the modifications can be made by the TK1 and recompiled.
The driver needs to be modified before being compiled.
Flashing a modified kernel image
Instructions for flashing a Jetson Tegra K1 to run R21.4 with modifications to work with Sensoray Model 1012 Required: Jetson TK1 and host computer running Linux
Procedure: 1) Get the modified zImage extlinux.conf and tw6869.ko files for Jetson Tegra K1 and put them in Downloads folder 2) Follow Jetson quick-start guide from NVIDIA
a) quick-start step 1. Download Linux for Tegra package and sample root file system
$ wget http://developer.download.Jetson.com/embedded/L4T/r23_Release_v1.0/Tegra210_Linux_R23.1.1_armhf.tbz2 $ wget http://developer.download.Jetson.com/embedded/L4T/r23_Release_v1.0/Tegra_Linux_Sample-Root-Filesystem_R23.1.1_armhf.tbz2
b) quick-start step 2. Untar and assemble the rootfs
$ sudo tar xpf ${RELEASE_NAME} $ cd Linux_for_Tegra/rootfs/ $ sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2 $ cd ../
3) Modify the kernel to be flashed
$ sudo cp ~/Downloads/zImage ~Linux_for_Tegra/zImage $ sudo cp ~/Downloads/extlinux.conf ~Linux_for_Tegra/bootloader/ardbeg/jetson-tk1_extlinux.conf.emmc
4) Get the driver for Sensoray 1012.
$ sudo cp ~/Downloads/tw6869.ko ~/Linux_for_Tegra/rootfs/lib/modules/3.10.40-gdacac96/extra/tw6869.ko
5) Flash the TK1 (step 3. in Jetson's quick-start guide)
a) Put your target system into "reset recovery mode" by holding down the RECOVERY button and press RESET button once on the target main board.
b) Ensure your Linux host system is connected to the target device through the USB cable for flashing.
$ cd ~/Linux_for_Tegra/ $ sudo ./applybinaries.sh $ sudo ./flash.sh jetson-tk1 mmcblk0p1 #This will take less than 10 minutes.
6) from the TK1 load the Sensoray driver.
$ sudo depmod /lib/modules/3.10.40-gdacac96/extra/tw6869.ko $ sudo insmod /lib/modules/3.10.40-gdacac96/extra/tw6869.ko
8) Restart with Sensoray 1012 attached
$ sudo reboot
7) MPlayer is used by the demo
$ sudo apt-add-repository universe $ sudo apt-get update $ sudo apt-get install libasound2-dev zlib1g-dev libxv-dev $ sudo apt-get install mplayer mencoder
8) Run the demo
$ wget http://www.sensoray.com/downloads/sdk_812_linux_1.1.9.zip $ unzip sdk_812_linux_1.1.9.zip password:<not included in this doc> $ ~/sdk_812_1.1.9_linux/demo-sample/PyGTK/demoSX12.py
Installing a modified kernel from TK1
1) Get the modified zImage extlinux.conf and TW68-core.c files for nVIDIA Tegra K1 and put them in Downloads folder
2) Install kernel modifications
$ sudo cp ~/Downloads/zImage ~/boot/zImage $ sudo cp ~/Downloads/extlinux.conf ~/boot/extlinux/extlinux.conf
3) Get Mplayer for the demo
a) Add universe repository
$ sudo gedit /etc/apt/sources.list
i) Uncomment the universe repository lines
deb http://ports.ubuntu.com/ubuntu-ports / trusty universe deb-src http://ports.ubuntu.com/ubuntu-ports / trusty universe deb http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe deb-src http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe
ii) Save and exit
b) Install dependencies
$ sudo apt-get update $ sudo apt-get install libasound2-dev zlib1g-dev libxv-dev
c) Install MPlayer
$ cd ~/ $ wget http://mplayerhq.hu/MPlayer/releases/MPlayer-1.2.tar.xz $ tar xf ~/Mplayer-1.2.tar.xz $ cd ~/Mplayer-1.2 $ ./configure $ make -j4 $ sudo make install
4) Restart
$ sudo reboot
5) Get the driver for Sensoray 1012.
a) Version 1.1.9 from Sensoray
$ cd ~/ $ wget http://sensoray.com/downloads/sdk_812_linux_1.1.9.zip $ unzip sdk_812_linux_1.1.9.zip password: <not included in this doc> $ cd /usr/src/linux-headers-3.10.40-gdacac96 $ sudo make modules_prepare
b) Use the modified code for TK1
$ cp ~/Downloads/TW68-core.c ~/sdk_812_1.1.9_linux/driver/vbuf2/TW6-core.c
6) Load the driver
$ cd ~/sdk_812_1.1.9_linux/driver/vbuf2 $ make $ sudo make install $ sudo make load
7) Run the demo
$ cd ~/ $ ~/sdk_812_1.1.9_linux/demo-sample/PyGTK/demoSX12.py
Compiling the kernel modifications
Get the source of the kernel being used.
$ wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/source/kernel_src.tbz2 $ tar xf kernel.src.tbz2 $ zcat /proc/config.gz > ~/kernel/.config
Customize the kernel.
a) Add universe repository
$ sudo gedit /etc/apt/sources.list
i) Uncomment the universe repository lines
deb http://ports.ubuntu.com/ubuntu-ports / trusty universe deb-src http://ports.ubuntu.com/ubuntu-ports / trusty universe deb http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe deb-src http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe
Save and exit
$ sudo apt-get update
Make changes
$ sudo apt-get install libncurses5-dev $ cd ~/kernel $ make menuconfig
Set Contiguous Memory Allocation to 64Mb
in menuconfig "y" turns a entry on <enter> goes into sub menus
<esc><esc> gets out of sub menus
"-gdacac96" is the local version of R21.4
General setup <enter> Local version <enter> -gdacac96<enter> <esc><esc> Device Drivers <enter> Generic Driver Options <enter> Size in Mega Bytes <enter> 64 <enter> <esc><esc> <esc><esc> <esc><esc>
Save and exit
Increase coherent memory pool
$ sudo gedit /boot/extlinux/extlinux.cof
Add to the end of the last line
coherent_pool=32M
Save and exit
Install the changes
$ make -j4 $ make modules $ sudo make modules_install $ sudo cp ~/kernel/arch/arm/boot/zImage /boot/zImage
Get Mplayer for the demo
$ sudo apt-get install libasound2-dev zlib1g-dev libxv-dev $ cd ~/ $ wget http://mplayerhq.hu/MPlayer/releases/MPlayer-1.2.tar.xz $ tar xf ~/Mplayer-1.2.tar.xz $ cd ~/Mplayer-1.2 $ ./configure $ make -j4 $ sudo make install
Restart
$ sudo reboot
Get the driver for Sensoray 1012. version 1.1.9 needs to be modified to work on TK1
$ cd ~/ $ wget http://sensoray.com/downloads/sdk_812_linux_1.1.9.zip $ unzip sdk_812_linux_1.1.9.zip password: <not included in this doc> $ cd /usr/src/linux-headers-3.10.40-gdacac96 $ sudo make modules_prepare $ cd ~/sdk_812_1.1.9_linux/driver/vbuf2 $ getit ./TW68-core.c
at line 1306 add: NOTE: Ctrl+F “pci_enable_” will take you there
if (pci_assign_resource(pci_dev,0)){ err = -EIO; goto fail1; }
so it now reads:
1305 dev->pci = pci_dev; 1306 if (pci_assign_resource(pci_dev,0)){ 1307 err = -EIO; 1308 goto fail1; 1309 } 1310 if (pci_enable_device(pci_dev)){
save and exit
Load the driver
$ make $ sudo make install $ sudo make load
Run the demo
$ cd ~/ $ ~/sdk_812_1.1.9_linux/demo-sample/PyGTK/demoSX12.py