XEN Hypervisor on ARM, paravirtualization and measurement of Core performance - xen

i am working on the S32G3 processor from NXP and i am trying to find a way to test the performance of the cores, i found that i can do that using Xenalyze. i want to measure exactly the switch context, this is the time we need to switch from a VM to another VM that is using the same pcpu.
First step i did is, i used the linux BSP to build an Image using Yokto Project, my Image includes Xen hypervisor, some hardware drivers like GPIO, CAN...
my image does have only Xen, so i cant use the other features like Xenalyse or Xentrace. And the board that i use has no Ethernet, so no Internet.
so my questions are:
how can i install Xentrace and Xenalyse?
is it possible to use a VM to turn on or off a LED on the board or to send a CAN message? Cuz i noticed with Dom0 i can use some GPIO functions , but with DomU i can't cuz they are not detected in the \dev.
using the paravirtualization, can i have access to GPIO or CAN?
i thank you so much for the help.
until now i just can create VMs, i am a beginner and i am still learning.

Related

Using the serial port in a Ubuntu for W10 (WSL)

I'd like to know if it is possible to establish communication via a serial port in an Ubuntu for W10 terminal using the USB interface.
Concretely, I am using a Sparkfun edge board and in this tutorial, it is explained how to detect if the device is connected by checking /dev/tty*. However, it does not work in my testbed, nothing new appears in the directory.
Probably, it is related to using Ubuntu over Windows, but I'd like to be sure before moving to another system.
This is a bit old, but it should've worked then... New devices don't show up in the directory, they're already all there, so you need to know what COM port it's on, let's say it's on COM4, then your device will be /dev/ttyS4 in linux.
I've been using this for well over a year to upload files to my MCU boards kinda like what you want to do, and as long as the device shows up as a COM interface in Windows, and isn't in use, you should be able to connect it to it in WSL as /dev/ttyS[COM#].
Hope this helps, even if it's a bit delayed.

How to Enable Linux Kernel Driver for 81ry52 chip for Network over Usb

How do you enable the linux kernel driver for a network adaptor based on a 81ry52 chip?
The development board I'm using states the support is enabled by default. It implies this chip is popular. However it is not working, I can see the USB device is inserted but no network interface is created. And I could not find the adapter/chip model in the kernel source. Nor much information could be found on the net either.
So far, this model of the USB to network adapter does not work for Linux. The comments following the original question have many insights and shared experiences on USB in general. There might be many things to be fixed but not clear for now. I'll keep these in mind and hopefully explore more and find out a solution.
Though if somebody else find out a solution. I'll be very glad to know.

SuperMicro compatible with ZC706 Xilinx Board

We are looking to buy a SuperMicro machine to install the Xilinx ZC706 board on it for a specific project. We wanted to make sure which machine is and which intel processor family ( Haswell or Broadwell ) is compatible with the board?
We had a bad experience in PCIe card compatibilities with different machines, so we want to first investigate before placing the order.
Thanks.
First of all the Xilinx ZC706 is a board containing a PCI-e connector.
If you plugin the card into whatever PC it would not be detected because you are missing curcial hardware building blocks.
You need to create the PCI-e controller on the FPGA either by using an IP core from Xilinx or DIY.
When you say that you had bad experience with pci-e compatibilities i would bet my money that it is your hardware design that is the culprit and not the motherboard.

How to program an XBee ZigBee module?

I have a project which the information from the microcontroller (drop rate changes of dextrose like sending notification "nearly empty" or "Sudden change of drop rate. Drop rate of 15 automatically return to 14") would display in an application in a computer. I am thinking of using ZigBee and it would be responsible for transferring the information but I am new with the technology.
Does anyone could help me how to program the ZigBee module? I have seen some articles saying that it could be programmed in eclipse CDT. I am bit confused how to get start.
Any help would be appreciated. Thanks!
Use USB Explorer device (or similar) to enter a serial terminal session on the receiving XBee.
Type ATMY to get the receiving XBee's address. Write it down.
Put the sender in the USB Explorer and type ATDL plus the receiver's address, like "ATDL798A728"
Type ATWR to save this setting.
Attach sender XBee's UART (TX and RX pins) to microcontroller.
Plug receiving XBee into USB Explorer attached to computer.
Run Processing sketch or similar to read from the serial port.
The two XBees will run by default in 'transparent mode,' which pipes data coming into one UART out of the other UART, exactly like a wire. So when your microcontroller writes data into the sender XBee, it will come out of the receiving XBee and be read (and displayed or whatever you need) by your software.
It really depends on how much configuration your installation can handle. Is this a one off installation, or a "system" of products you want to make that have to be able to work together in whatever configuration they're bought?
As already explained, xbee modules that have the whole radio + stack already setup and working for serial data are simple to use for the trivial case of you sending out a few pre-paired setups form the lab, or even site installation by an expert.
If your embedded devices have to find each other automatically, then you'd need a way to get the embedded microcontroller to get the modules discover each other, make a connection, and then have the application code in the embedded microcontrollers talk to each other and identify what they need to do with each other.
In this case, you probably would be better off with the (upfront much more complex and likely expensive) design where the zigbee stack is inside the embedded controller, so your application code can use it properly to control connectivity.
The TI zigbee pro evaluation kit is very comprehensive, and seems great to me so far. It sounds like you're at the point where you need to spend some money and get some experience with real modules, just to get a feel for the technology. Though be warned, you may need IAR embedded workbench to work with these long term, and that's pretty expensive software!
Alternatively, Atmel have a pretty interesting looking zigbee implementation with their "bitcloud" software platform (free zigbee pro stack!! woo! and they have a free ARM toolchain!) but I've found the getting started info around the bitcloud stuff is really lacking, and while I can get the code setup and compiling, I'm not confident to buy enough of their evaluation gear for a zigbee pro mesh network to test it in real life yet.
PS: if you're getting started with short range wireless, i can't recommend this book highly enough. http://www.amazon.com/Essentials-Short-Range-Wireless-Cambridge-Series/dp/0521760690/ref=sr_1_2?ie=UTF8&qid=1336091059&sr=8-2
It contains very good introduction to the different technologies available, and the strengths and weaknesses of all of them (and wireless in general) Plus it will leave you in a good position to start understanding the features you really need for the system you're designing.
some of the zigbee/xbee modules simply behave as wireless serial, no programming required just turn them on. Others require programming. It depends on what your needs really are. the ones that behave like wireless serial have an AT command set if I remember right so you can adjust some things, like for example if you want more than two (more than one wireless point to point connection) you can specify which two talk to each other...

PIC32 bluetooth

I want to implement bluetooth communication on my final bachelor project, but I'm having a lot of doubts.
One of the requisites of this project is to have a Java application that can talk to the micro via Bluetooth. After a lot of research, I've found one that I think it's very good with a SPP profile, but I still have a lot of questions about it:
All the bluetooth on a PC implements the SPP profile stack?
If you need to develop a Java application that runs on every PC that implements the SPP stack, how would you do it?
We started by trying to use BlueCove and JavaBluetooth.org API, the first one runs great but I don't know if it's just on my PC and the second one sends an error (Stack not initialized). Which one would you use, and why?
We decided to buy this bluetooth module, from Sparkfun, any comments for those of you who already use it?
Thanks
I used a similar product for my senior design project from Sparkfun (RN-41): http://www.sparkfun.com/products/10559
It worked right out of the box as a simple UART. This allowed my team and I to develop a simple C# application that used the .NET SerialPort class (System.IO.Ports) to communicate between an MSP430 and the PC application we were developing. If streaming data is all you care about, these Bluetooth modules work great. Java implements a similar SerialPort class for RS-232 communications. Don't forget that Bluetooth was developed to replace a serial cable.
I hope this answer helps! Good luck.
I personnally achieved to use the Sparkfun's bluesmirf devices to communicate with my own Java application (an Eclipse plug-in). I tested it successfully under Windows, MacOS & Linux based systems.
I used the RXTX Java library to connect to the corresponding serial port once the Bluetooth devices were paired. Under Linux I even achieved to configure rfcomm to automatically pair the Bluetooth devices on demand.
From my experiment I encountered some stability issues... Sometimes it simply fails to connect to the given port even if it exists or refuse to reconnect on it. Sometimes it hangs the whole system...
I never found any good solution to fix those issues that seems to be completely system dependent. I would be interested if any one achieved to use it properly...

Resources