Hi Everyone,
We just bought a Juno Versatile Express board for development. Using the getting started guides and I have successfully installed DS-5 on a host and a rootfs on the board. I'm using the LAMP image provided by Linaro for use with the Juno board (linaro-image-lamp-genericarmv8-20150618-754.rootfs.tar.gz). To set up and test CoreSight I am using the guide provided (On-Target Trace Using the CoreSight Access Library | ARM DS-5 Development Studio) and the readmes provided within the CoreSight_access example source.
Building is no problem but I have two issues:
1. When trying to disable the cpuidle I find that I have no cpuidle directory in any /sys/devices/system/cpu/cpu$ folder.
2. When attempting to run the tracedemo example (rel or dbg) I receive a "CSREG: Failed to detect the board!" error. The Juno r1 is defined in the source as a supported board (and also mentioned in the readme as supported).
Does anyone have an idea why I would be seeing this error?
Thanks in advance for any insight you can provide on CoreSight!
Steve
Thanks for looking into this Ash!
Even after patching the source, ensuring cpuidle is disabled, and rerunning the CSAT script I still am seeing the following output:
root@genericarmv8:~/CoreSight_access/bin/dbg# ./tracedemo Default configuration, no CPU affinity selected. ITM disabled. kernel symbol found @ 0xFFFFFFC000082000 CoreSight demonstrator ** Currently affine CPUs: #0 #1 #2 #3 #4 #5 CSREG: Failed to detect the board!
root@genericarmv8:~/CoreSight_access/bin/dbg# ./tracedemo
Default configuration, no CPU affinity selected. ITM disabled.
kernel symbol found @ 0xFFFFFFC000082000
CoreSight demonstrator
** Currently affine CPUs: #0 #1 #2 #3 #4 #5
CSREG: Failed to detect the board!
I am using the latest prebuilt binaries: juno-latest-oe-uefi.zip and the prebuilt LAMP image: lt-vexpress64-openembedded_lamp-armv8-gcc-4.9_20150620-722.img.gz. found in the getting started guide: Linaro Releases
I believe it because my /proc/cpuinfo has no "Hardware" line:
root@genericarmv8:~/CoreSight_access/bin/dbg# cat /proc/cpuinfo
processor : 0
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 1
processor : 1
processor : 2
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 3
processor : 3
processor : 4
processor : 5
What does your /proc/cpuinfo look like? What binary/images are you using?
Hi Steve,
Ah, I believe this is due to this patch to the Linux kernel which has made it into the Latest kernel (which is the one you're using, in 'juno-latest-oe-uefi.zip'), whereas it's not yet made it into the LSK as this is the Linaro Stable Kernel. I was building from source and using the LSK which is why it worked for me.
I've informed the maintainers of the CoreSight demo to let them know, but in the mean time I suggest you follow the instructions at the Linaro ARM Platforms Page in order to build your software stack with the LSK rather than the Latest kernel.
As a side note, if you want to disable the CONFIG_STRICT_DEVMEM flag for your kernel, the simplest way to do it is after running this command (when following the steps on the Platforms page):
repo sync -j8
After running that command and before continuing, open the file /linux/linaro/configs/distribution.conf and change this line:
CONFIG_STRICT_DEVMEM=y
Changing the "y" to "n". You can then continue to follow the instructions as normal.
I hope that helps.
Cheers,
Ash.
Success!!!
Building with the LSK instead of the latest successfully fixed the /proc/cpuinfo out which allowed the CoreSight tracedemo to run.
Thank you so much for the help Ash! You've been a great resource!
No problem, glad to hear it's working for you now
Hello I have a similar problem, but I am working with a xilinx zybo board, after I execute the tracedemo program i get:
$ ./tracedemo
kernel symbo
And then the system hangs. Any suggestion?
From <DS-5>/examples/CoreSight_Access_Library.zip/DS-5Examples/CoreSight_access/demos/cs_demo_known_boards.c:
const struct board known_boards[] = { { .do_registration = do_registration_arndale, .n_cpu = 2, .hardware = "ARNDALE", }, { .do_registration = do_registration_tc2, .n_cpu = 5, .hardware = "ARM-Versatile Express", }, { .do_registration = do_registration_juno, .n_cpu = 6, .hardware = "Juno", }, { .do_registration = do_registration_altera, .n_cpu = 2, .hardware = "Altera SOCFPGA", }, { .do_registration = do_registration_snowball, .n_cpu = 2, .hardware = "ST-Ericsson Snowball platform", }, { .do_registration = do_registration_axx5500, .n_cpu = 16, .hardware = "LSI Axxia", }, {} };
The Xilinx Zybo board is not listed as a known board and therefore is not supported.