Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC
QT creator - debugger
bolmoe
Добавлено 25.04.2014 19:06
0
Сообщение: 1
bolmoe
0

Пункты: 1902
Регистрация: 09.02.2012
Суть проблемы.

Создал новый проект, подключил файл со следующим содержимым (немного подправил под pin2-4):


/* test gpio3-17 for gpio bitbang */
/* pin 40 X1(SPI0_MISO)*/
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <sys/mman.h>
#include <unistd.h>
//-------------------------------------------------------------
#define IMX_PIO2 0x020A0000 /* block 2 registers */

#define PIO_DR 0x00 /* DATA Register */
#define PIO_GDIR 0x04 /* Direction Register */
#define PIO_PSR 0x08 /* pad status Register */
#define PIO_ICR1 0x0c /* Interrupt config Register1 */
#define PIO_ICR2 0x10 /* Interrupt config Register2 */
#define PIO_IMR 0x14 /* Interrupt mask Register */
#define PIO_ISR 0x18 /* Interrupt status Register */
#define PIO_EDGE_SEL 0x1c /* Edge select Register */

//-------------------------------------------------------------
#define PIN_MASK_GPIO17 (1<<4)
#define MAP_BASE_2 (IMX_PIO2)
#define MAP_SIZE 4096Ul
#define MAP_MASK (MAP_SIZE - 1)

void *mapped_base_2;

//-----------------------------------------------------------------------
int main(void)
{
int fd, i;
// try open /dev/mem ===============================================
if ((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1)
{
printf("Cannot open /dev/mem.\n");
exit(EXIT_FAILURE);
}
printf("/dev/mem opened.\n");
// try mapped memory A =============================================
mapped_base_2 = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, MAP_BASE_2 & ~MAP_MASK);
if (mapped_base_2 == (void *) -1)
{
printf("Memory mapping error.\n");
exit(EXIT_FAILURE);
}
printf("A Memory block mapped at address %p.\n", mapped_base_2);
mapped_base_2+=(MAP_BASE_2 & MAP_MASK);
printf("A Target address mapped 0x%08x-->0x%08x\n",(int) MAP_BASE_2,(int)mapped_base_2);
//==================================================================
printf("Initing control pin\n");
*(int*)(mapped_base_2+PIO_GDIR) |= PIN_MASK_GPIO17;

for(i=0; i<0xFFF; i++)
{
*(int*)(mapped_base_2+PIO_DR) |= PIN_MASK_GPIO17;
*(int*)(mapped_base_2+PIO_DR) &= !(PIN_MASK_GPIO17);
}
close(fd);
printf("Bye!\n");
return 0;
}

После компиляции, проект на плае HOLO-PC не работает, все сообщения printf() выдает, а пином не дергает. При запуске дебаггера, в процедуру
for(i=0; i<0xFFF; i++)
{
*(int*)(mapped_base_2+PIO_DR) |= PIN_MASK_GPIO17;
*(int*)(mapped_base_2+PIO_DR) &= !(PIN_MASK_GPIO17);
}
НЕ заходит, уходит сразу на close(fd).

Если в процедуру for(...)добавить printf(">>"), то пин начинает работать в соответствии с указанным выше кодом и debugger так же нормально отрабатывает, заходя в эту процедуру for(...)

пробовал добавлять в файл проекта *.pro QMAKE_CXXFLAGS += -O0, не помогло
Спуститься к концу Подняться к началу
Персональная информация
bolmoe
Добавлено 28.04.2014 12:38 Редактировалось 28.04.2014 12:57 Сообщение: 2
bolmoe
0

Пункты: 1902
Регистрация: 09.02.2012
При старте дебаггера появляется вот такое сообщение:

Debugging starts
Process /home/hw/hw created; pid = 870
Listening on port 10001
Remote debugging from host 192.168.0.2
Could not load shared library symbols for 5 libraries, e.g. /usr/lib/libstdc++.so.6.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?


На плате по пути usr/lib эта библиотека присутствует.
В QT tools->options->build&run->kits->sysroot установлен путь /home/../rootf/.../output/staging
Что еще необходимо сделать, чтобы убрать это сообщение?
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC