MicroPython on STM32F746 controller - arm

I have a PCB which contain an STM32F746 controller , I want to run micropython on that controller for that reason I have compiled the code of STM32F7 DISC board from that repository (https://github.com/micropython/micropython.git) and than I have upload it to the controller using the ST_Link ,I have got this errors :
14:21:59 : The elf loader Program function fails.
14:22:01 : The elf loader Program function fails. 14:22:01 : Memory-Loader error
14:22:01 : Error occured during program operation!
14:22:01 : Programming error # 0x08000000!
14:22:09 : Programming error # 0x08020000!
I thought maybe there is a problem with the linker file but i didn´t know how to fix it .
Any help ,Please !
Thank you in advance .

I resolved it , the problem was with the version of the STLink , I couldn´t even erase the chip and , I just download the latest version and the firmware is uppload it correctly .
I am stuck with an other error , I am working on the stm32f746 controller which is embedded inside a pcb , after uploading the firmware of the f7Disc to my controller nothing happen and I could´t get the python interpreter , I thought the firmware doesn´t work because my computer doesn´t detect a virtual com port .
Any help , Please !!!!

Related

Could not open $readmem data file program mem.dat; please make sure the file is added to project and read permission, ignoring [MicroController:44]

enter image description hereWhen I execute a program that is of microcontroller then complier throws 3 errors:
[Synth 8-4445] could not open $readmem data file program mem.dat; please make sure the file is added to the project and has read permission, ignoring [MicroController:44]
Synth 8-439] module 'ALU' not found MicroController 47
failed synthesizing module 'MicroController MicroController v.21
3 Vivado Tel 4-5] Elaboration failed - please see the console for details Synthesis (3 errors, 1 critical warning

Why does my program work fine by running it directly but not as a service? Linux C

Goodday guys,
I am trying to build and run program in linux (raspberry) as a service.
It is a sample application that uses the Cerence SDK C API that implements a wake-up-word (WUW) plus command utterance recognition.
I can execute it by ./name.exe or using the Makefile commands.
The problem is that when I execute the program by console it works fine, without any problem.
When I try to execute it as a service (using both systemd or crontab and also rc.local), an error occours.
This is the function that gives me error:
printf("Selecting audio configuration %s\n", audioScenarioName);
rc = nuance_audio_IAudioManager_activateScenario(audioMgr, audioScenarioName);
if (NUANCE_COMMON_OK != rc) {
printf("Audio scenario activation failed: %d\n", rc); <-- returns 1 (error, impossible to activate scenario)
return rc;
}
ActivateScenario it's a function that simply selects the correct mic (audioScenarioName) following a JSON file and the audio manager (audioMgr).
Unfortunately this function returns 1 if something goes wrong, closes the program and nothing else.
This is the JSON:
"type": "AudioInput",
"name": "mic_input",
"adapter_type": "CUSTOM_AUDIO",
"adapter_params": {
"device_name": "default"
},
"audio_format": { "uses": "16khz_1ch" }
The service should be running as root permissions (default).
I also tried by setting the whole folder as chmod -R 777 as a test, but same problem.
This is my service:
[Unit]
Description=My Service
[Service]
Type=simple
ExecStart=+/home/pi/.../nameexec
Restart=on-failure
RestartSec=5
KillMode=process
[Install]
WantedBy=multi-user.target
I've also set the absolute path of its lib directory that it needs into the ld.so.conf file.
The only libraries I put in it are the .so ones, but not .h.
I am now trying to understand what might be different about starting the same executable but in different ways.
Could it be a permissions issue? Or is it not detecting the microphone? Any library out of place?
I really don't know why it works with the classic command and not as a service.
Can someone please help me with this?
Thank you in advance!
I succeeded!
The problem was the microphone being used.
Using Raspbian ver. Desktop, I set the mic from the bottom right part of the taskbar and changed the defaults in/out.
But these settings seem to be not system-wide and not used by the services in background (even though the "User=" is set to "pi").
So I had to change alsa.conf file:
sudo nano /usr/share/alsa/alsa.conf
Then find and edit these lines:
defaults.ctl.card cardnumber
defaults.pcm.card cardnumber
You can find the card number by running arecord -l.

Debugging C: GDB returns "address where <file> has been loaded is missing"

I'm very new to the C language and have been tasked with modifying GRUB. What a way to learn, right? Anyway, I'm trying to debug my modified GRUB using VMWare and GDB. I've been able to get the debugger working before, but for some reason, every time I load up my VM and connect GDB, during the loading process of GRUB, I get:
.loadsym.gdb:1: Error in sourced command file:
The address where biosdisk.module has been loaded is missing
and I have no idea what to do about it. My first thought was, "Oh, I'll just add-symbol-file <file> and that'll fix it!" but apparently that tells GDB to forget every other symbol it loaded???? So I can't add the symbol-file and set a breakpoint.
My googling only returns one semi-relevant post that doesn't really go all that in-depth on fixing the issue.
This output may also be relevant.
info file biosdisk.module
Symbols from "H:\Workspace\GRUB\Bootloader\Trunk\grub-core\kernel.exec".
Remote serial target in gdb-specific protocol:
Debugging a target over a serial line.
While running this, GDB does not access memory from...
Local exec file:
`H:\Workspace\GRUB\Bootloader\Trunk\grub-core\kernel.exec', file type elf32-i386.
Entry point: 0x9000
0x00009000 - 0x0000e6e0 is .text
0x0000e6e0 - 0x0000f68d is .rodata
0x0000f6a0 - 0x0000fe74 is .data
0x0000fe80 - 0x000175d4 is .bss
Ended up being that my codebase wasn't the same. That is, on my Windows host, I had one copy of my code and on my Ubuntu VM was another.
Using version control solved this issue.

SNMP subagent application crashes at init_agent()

I have implemented SNMP subagent functionality in my application using net-snmp library (http://www.net-snmp.org/tutorial/tutorial-5/toolkit/demon/).
The application crashes at init_agent() call.
GDB-BackTrace for the same:
#0 0x00002b123483aaa1 in init_traps () from /usr/lib64/libnetsnmpagent.so.10
#1 0x00002b1234835cd0 in init_agent () from /usr/lib64/libnetsnmpagent.so.10
...
The error message at "/var/log/messages":
sample_app.exe[6642]: segfault at 0000000000659de0 rip 00002ac2749c2aa1 rsp 00007fff38c6ec48 error 7
I am using "NET-SNMP version: 5.3.2.2" on CentOS 5.5(elf5) 64Bit. The sample_app code is same as provided in tutorial(http://www.net-snmp.org/tutorial/tutorial-5/toolkit/demon/example-demon.c)
The init_agent() is supposed to take config file name as argument, I have tried passing config file name which has 'correct configuration'/'incorrect configuration'/'file not present', In each case the application crashes with same error.
Please suggest any tools/links which will help me identify the actual cause of the crash. Any link for resolution of similar issue will also be helpful.
Thanks
Edit-
The issue has been resolved. The variable 'snmptrap_oid_len' was being declared/used in application's MIB C code, which is already part of net-snmp library 'agent_trap.c'. This was causing the conflict and hence crash.
PS: If you face similar issue, ensure that variables 'snmptrap_oid' and 'snmptrap_oid_len' are 'not redeclared'/'used correctly' in MIB C code.

gdb debugger Error : "-var-create: Unable to create variable object"

I am Using Netbeans with C/C++ Plugin on Windows 7 x86 System. I am getting Error when debugging the code. But when I run the code, it runs with out any problem.. As soon as I start debugging the code, it stops at 2-3 Lines before "main()" application.. And getting debugger error as follow :
(gdb)
17^error,msg="-var-create: unable to create variable object"
(gdb)
18^done,changelist=[]
(gdb)
19^error,msg="-var-create: unable to create variable object"
(gdb)
20^done,changelist=[]
(gdb)
21^done,name="var3",numchild="4",value="{...}",type="const MyVar",has_more="0"
(gdb)
24-var-show-attributes "var3"
.
.
.
.
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
I will appreciate any suggestion.
Looks like its a bug in netbeans.
http://netbeans.org/bugzilla/show_bug.cgi?id=205708
Try other versions.(Whats the version you are using,Can you please update it , it will be useful for others). Thanks

Resources