U-boot deployment questions - raspberry-pi

I'am currently developing an application for an embedded system (RTEMS for RPI2). As you may know developing proccess on embedded systems imply:
Modifing the program
Compile it and load it into de SD card
Insert the SD card on the board
It is a tedious process, and you can even break the SD slot for the constant usage. This is the reson why i'am trying to set up a comfortable enviroment for developing and deploying the application on the RPI. My idea is to use Eclipse as IDE for all the proccess (edit, compile and execute). So far these are my ideas for solving the different problems:
Usage of U-boot for loading the application images from TFTP. [That solves the problem of plug & unplug the SD card]
Use CTD eclipse pulgin [That solves the problem of compiling]
Use of Terminal View eclipse plugin instead of putty [That solves the problem of viewing the application console prints]
As you may notice the only problem i have unsolved is the one of executing. The idea is that whenever you compile the compiled file is located at the TFTP server directory, so it is accesible for u-boot client to load. The thing i don´t know how to do is how to tell remotely u-boot to reaload the image (the image would always have the same name). I know i can just simply reset the RPI but i don´t know if that can damage something, and also i'am curious to know if there is a more elegant way to do it.
Another thing i would like to do is to somehow specify if you want to run the application on the target or on a simulator like QEMU.
Thanks in advance

Related

IMX8MM Linux: Change Shutdown behavior

I have just started to work in a project where the product uses a imx8m mini module together with Yocto Linux (Zeus).
Currently we have a problem related to the shutdown behavior of the product, and we need to modify what happens during a shutdown.
As today when we shutdown or a thermal emergency happens, the PMIC_ON_REQ(That controls the external power regulator) goes low, but we need to change this behavior that it keeps the current value on PMIC_ON_REQ, as we have other diagnostic devices that needs to talk to the PMIC after that the imx8mm has turned off. In other words: I want to keep the value of the gpio as long as possible, until the control is out of reach.
But my current problem is that I don't know where to start, or what kernel module I shall look into.
Does any one have any clue where I shall start to look to be able to find the code for patching?
I have tried commands in devtool like "devtool modify power/thermal/soc" but without finding the needed code..
Please observe that this is my first Yocto project ever, so if I write something strange, bare with me

Porting of TwinCAT2 to TwinCTA3

I have a running project of twinCAT 2 (made for XP 32bit ) & Its working as required. Now I tried to port this project into TwinCAT3 (windows 10 64bit) for that->
I opened twinCAT 3 Created a new project.
Then add the existing project where I added ".tsm" file of TwinCAT2.
Then I added the PLC file (which have the main program & GUI also)
Then all the mapping for input and output & also changed a few settings in twinCAT for the device.
In the end, I build the program without having any errors.
Then finally I ran the TwinCAT3 program....
The problem I'm facing
If I'm clicking the RUN button TwinCAT3 is getting hanged (don't know the maybe time-related file is creating issue)
I'm not able to see data on GUI (Maybe GUI file not linked with the main program).
Please let me know if any solution you guys have.
Thanks :)
Porting TwinCAT2 plc project with a visualization to TC3 is sometimes a little tricky. You can try to just import the visualization pictures into the plc and let the engineering do the rest automatically (bind libs etc.). Or check the lib-versions of the visu libs manually. Or check the visualization profile in the plc-project properties. In both cases the slogan is "latest greatest" in this scope.
Is the connection to other data from the target also lost? E.g. the current cpu-usage of the cores? If yes, you have a other problem. Mostly endless loop.

Command line arguments for Scratch 1.4

I'm using Scratch 1.4 for preparing a course for children.
The course is about controlling real devices (self built traffic lights, modified toys having motors, sensors, etc.)
For interfacing the hardware I'm using the Remote Sensor Protocol and the control-lines of a RS232 interface (3-in/3-out, all digital).
Everything works great, except small inconveniences:
The children have to do many steps manually:
start scratch first,
load a template project which enables remote sensor protocol and defines variables
accept the warning message notifying, that remote sensor protocol is enabled
start RSP-RS232 proxy
I'd like to simplify it by starting scratch from my tool, ask Scratch to perform steps 2,3 by command-line arguments and finally connect to the RSP port.
Is it possible?
If not, is it hard to implement these parameters in Smalltalk for someone with no Smalltalk experience (but other languages like C++)?
Thank you!
Ok, after some readings I could answer my question.
Bad news is: there is obviously no command line argument in Scratch passing a project-file as a start-project.
However good news is, it is not difficult to change the scratch for own needs. Several projects do it, e.g.:
Scratch 4 Arduino
Scratch GPIO
How to do it is described here:
http://wiki.scratch.mit.edu/wiki/Scratch_1.4_Source_Code
Scratch and Squeak
...
To get started, first copy the Scratch application ("Scratch.exe" or
"Scratch.app") from your normal Scratch folder into the Scratch source
code folder. (The Scratch application is actually just a Squeak
virtual machine, so any recent Squeak virtual machine should also
work.) Also, put copy of the Squeak source code file in that folder if
needed (this file is included in the zip file starting with the 1.4
source release). Finally, drop the file "ScratchSourceCode1.4.image"
onto the Scratch application. The Squeak programming environment will
start up, allowing you to view and modify the Scratch source code.
I was able to disable the dialogue notifying that remote sensors protocol is enabled
and to enable remote sensors at start by default. Took me 2 hours.
P.S.:
For those interested, I host my project here: https://github.com/vheinitz/Qratzfest
As I've found out, my Idea was not new (I've looked for this possibility about 3 years ago, but there was nothing). What is different, the proxy-tool is for PC, and is intended to use any hardware, not dedicated only to a specially firmwared Arduino or PI. Currently only control-pins of a serial interface are supported and linked to fixed names.
Soon it will provide the possibility to map any pin to any Scratch-variable.

FMJ, JMF civil, about a bloody headache

I am trying to write a java application that uses the web cam and I am just desperate. It feels just like mission impossible.
I have two webcams. They are recognized by Ubuntu as follows
ls /dev/vi*
/dev/video0 /dev/video1
ls /dev/v4l/by-id
usb-0471_0310_0169000099000000-video-index0
usb-Fujitsu_Siemens_Computers_FSC_WebCam_130-video-index0
they work perfectly well with any software
vlc, cheese webcam... you name it
but with java... (O M G...)
after a week of try and fail...
JMF: does not recognize these two cams, no matter what I tried.
FMJ (which seems to use civil) recognize only video0 after having installed avformat libraries
but
I can't add any device in the registry application clicking on the add device button, nothing happens
in the fmjstudio, selecting video0, I get
unknown or unsupported format: 1448695129
anyway, in all cases, I don't see how I could write something serious and usable by any kind of user who does not know how/want to install libraries and start fighting with additional packages installation
these libraries are just pure crap
a simple cat command will dump the content of the webcam stream
so does anyone knows any serious alternative to those crappy libraries?

QT5 mouse Plugin not loading with qtwebkit

I have cross compiled QT5 for MIPS based embedded platform. There is no pointer device. Hence created "Socket based" pointer device by modifying the evdevmouse plugin and it is working.
But when I try to run "QtWebkit", it never tries to search or load this plugin. I am not sure what is the difference. (It loads image/ eglfs etc other plugins except this).
Can any one suggest way to go around?
EDITED: QtWebkit is "QtTestBrowser" application.
"But when I try to run "QtWebkit", it never tries to search or load
this plugin"
Finally I found the reason.
Due to some changes which we had done in the application, there was small corruption in argv, and hence it was not finding “-plugin” properly.
I enabled the QT_DEBUG_PLUGINS, and found that it was not trying to load that at all and then found the reason.