Перейти к содержанию
    

GenEv

Участник
  • Постов

    16
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о GenEv

  • Звание
    Участник
    Участник
  • День рождения 19.01.1982
  1. Разобрался. Надо строго по 4096 байт и с базового адреса.
  2. Хочу получить доступ к периферии. Делаю так. int fd; void * tempa; fd = open("/dev/mem", O_RDWR); if (fd == -1) { printf("open error...\n"); return 1; } tempa = mmap(0 , 256, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0xFFFFFC00);//AT91C_BASE_PMC возникает ошибка The error generated was 22 That means: Invalid argument Подскажите что не так?
  3. Linux 2.6.25.4 на AT91SAM9263

    Спасибо за советы, уже разобрались
  4. Linux 2.6.25.4 на AT91SAM9263

    Привет всем. Есть сабж. Втыкаю usb мышу, Linux говорит мыша найдена, но она не работает. (Запускаю граф. прогу, мыша там не двигается) Ядро компилировали с поддержкой hid устройств. Вот информация загрузки. Linux version 2.6.25.4-pm9263 (roman@roman-desktop) (gcc version 4.1.1) #1 Wed Dec 3 21:40:31 MSK 2008 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 Machine: Ronetix PM9263/BB9263 Ignoring unrecognised tag 0x54410008 Memory policy: ECC disabled, Data cache writeback On node 0 totalpages: 16384 DMA zone: 128 pages used for memmap DMA zone: 0 pages reserved DMA zone: 16256 pages, LIFO batch:3 Normal zone: 0 pages used for memmap Movable zone: 0 pages used for memmap Clocks: CPU 199 MHz, master 99 MHz, main 18.432 MHz CPU0: D VIVT write-back cache CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: root=/dev/mtdblock4 rootfstype=jffs2 fbcon=rotate:3 mtdparts=physmap-flash.0:256k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),-(rootfs);nand:-(nand) ip=10.120.81.138:10.120.81.129:10.120.81.1:255.255.255.0:PM9263:eth0:off AT91: 160 gpio irqs in 5 banks PID hash table entries: 256 (order: 8, 1024 bytes) Console: colour dummy device 80x30 console [tty0] enabled console [ttyS0] enabled Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 64MB = 64MB total Memory: 61568KB available (2992K code, 199K data, 136K init) Calibrating delay loop... 99.32 BogoMIPS (lpj=496640) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok net_namespace: 152 bytes NET: Registered protocol family 16 SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP reno registered NetWinder Floating Point Emulator V0.97 (double precision) JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc. io scheduler noop registered io scheduler anticipatory registered (default) atmel_lcdfb atmel_lcdfb.0: backlight control is not available atmel_lcdfb atmel_lcdfb.0: 600KiB frame buffer at 23e00000 (mapped at ffc00000) Console: switching to colour frame buffer device 60x40 atmel_lcdfb atmel_lcdfb.0: fb0: Atmel LCDC at 0x00700000 (mapped at c4850000), irq 26 atmel_usart.0: ttyS0 at MMIO 0xfeffee00 (irq = 1) is a ATMEL_SERIAL atmel_usart.1: ttyS1 at MMIO 0xfff8c000 (irq = 7) is a ATMEL_SERIAL brd: module loaded loop: module loaded usbcore: registered new interface driver ub MACB_mii_bus: probed eth0: Atmel MACB at 0xfffbc000 irq 21 (02:00:11:53:d1:79) eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:01, irq=-1) Driver 'sd' needs updating - please use bus_type methods physmap platform flash device: 00400000 at 10000000 physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank Amd/Fujitsu Extended Query Table at 0x0040 number of CFI chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. 4 cmdlinepart partitions found on MTD device physmap-flash.0 Creating 4 MTD partitions on "physmap-flash.0": 0x00000000-0x00040000 : "u-boot" 0x00040000-0x00050000 : "u-boot-env" 0x00050000-0x001b0000 : "kernel" 0x001b0000-0x00400000 : "rootfs" NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron NAND 256MiB 3,3V 8-bit) AT91 NAND: 8-bit, Software ECC Scanning device for bad blocks Creating 1 MTD partitions on "at91_nand": 0x00000000-0x10000000 : "Partition 1" atmel_spi atmel_spi.0: Atmel SPI Controller at 0xfffa4000 (irq 14) mtd_dataflash spi0.0: AT45DB321x (4224 KBytes) atmel_spi atmel_spi.1: Atmel SPI Controller at 0xfffa8000 (irq 15) usbmon: debugfs is not available ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver at91_ohci at91_ohci: AT91 OHCI at91_ohci at91_ohci: new USB bus registered, assigned bus number 1 at91_ohci at91_ohci: irq 29, io mem 0x00a00000 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected udc: at91_udc version 3 May 2006 ether gadget: using random self ethernet address ether gadget: using random host ethernet address usb0: Ethernet Gadget, version: May Day 2005 usb0: using at91_udc, OUT ep2 IN ep1 STATUS ep4 usb0: MAC c2:70:f1:9a:b7:2d usb0: HOST MAC 5e:b0:ab:62:c9:30 usb0: RNDIS ready mice: PS/2 mouse device common for all mice input: gpio-keys as /class/input/input0 ads7846 spi1.0: touchscreen, irq 31 input: ADS784x Touchscreen as /class/input/input1 rtc-at91sam9 at91_rtt.0: rtc core: registered at91_rtt as rtc0 rtc-at91sam9 at91_rtt.0: rtc0: SET TIME! at91sam9_wdt: invalid timeout (must be between 1 and 16) Registered led device: led0 Registered led device: led1 usbcore: registered new interface driver usbhid drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver Advanced Linux Sound Architecture Driver Version 1.0.16rc2 (Thu Jan 31 16:40:16 2008 UTC). ALSA device list: #0: Atmel AC97 Controller at 0xfffa0000, irq 18 TCP cubic registered NET: Registered protocol family 1 NET: Registered protocol family 17 RPC: Registered udp transport module. RPC: Registered tcp transport module. rtc-at91sam9 at91_rtt.0: hctosys: unable to read the hardware clock IP-Config: Complete: device=eth0, addr=10.120.81.138, mask=255.255.255.0, gw=10.120.81.1, host=PM9263, domain=, nis-domain=(none), bootserver=10.120.81.129, rootserver=10.120.81.129, rootpath= Empty flash at 0x007b4a98 ends at 0x007b5000 VFS: Mounted root (jffs2 filesystem). Freeing init memory: 136K usb0: full speed config #2: 100 mA, Ethernet Gadget, using RNDIS usb 1-2: new low speed USB device using at91_ohci and address 2 usb 1-2: configuration #1 chosen from 1 choice input: Logitech USB Optical Mouse as /class/input/input2 input: USB HID v1.11 Mouse [Logitech USB Optical Mouse] on usb-at91-2 Настройка ядра --- HID Devices │ │ -*- Generic HID support │ │ [*] HID debugging support │ │ [ ] /dev/hidraw raw HID device support │ │ *** USB Input Devices *** │ │ <*> USB Human Interface Device (full HID) support │ │ [ ] Enable support for Apple laptop/aluminum USB special keys │ │ [ ] Force feedback support (EXPERIMENTAL) │ │ [ ] /dev/hiddev raw HID device support -*- Generic input layer (needed for keyboard, mouse, ...) │ │ < > Support for memoryless force-feedback devices │ │ < > Polled input device skeleton │ │ *** Userland interfaces *** │ │ -*- Mouse interface │ │ [ ] Provide legacy /dev/psaux device │ │ (640) Horizontal screen resolution │ │ (480) Vertical screen resolution │ │ < > Joystick interface │ │ <*> Event interface │ │ < > Event debugging │ │ *** Input Device Drivers *** │ │ [*] Keyboards ---> │ │ [*] Mice ---> │ │ [ ] Joysticks/Gamepads ---> │ │ [ ] Tablets ---> │ │ [*] Touchscreens ---> │ │ [ ] Miscellaneous devices ---> │ │ Hardware I/O ports ---> Подскажите в какую сторону копать?
  5. При моделировании загрузка процессора не более 50%. Используется Matlab2008a x64 на WinViste x64. Процессор 2-ядерный E6750 2.66 ГГц, 4 гига оперативки. Есть ли какие настройки в Matlabe позволяющие использовать на полную процессор? или настройки Windows. Так же пробывал на WinXP x64 то же самое не более 50%.
  6. Отладочная функция это что то особенное подразумевается? А так F9
  7. Увеличил InterruptMode в 2 раза и все заработало!!!! Спасибо всем!!!!
  8. Вот настройки стека: Вот такую информацию дает Call Stack при брекпойнте в прерывание по UART0. А вот это было при зависании:
  9. Эээээ. Стек неконтролирую. А как узнать его размер? и как узнать что его не хватает?
  10. Проект для LPC2294. Вообщем проблема не понятная. Смысл такой. Есть основной цикл. по прерыванию набирается пакет байтов. Так вот если убрать AppBrake = GetAppBrake(); //____________________________________________ Опрос углов _____________________________ Azimut.Angle = GetAngle() + Azimut.Corr; Elev.Angle = 14.5 + Elev.Corr; ... // Рсчеты, расчеты т.е. различные расчеты, то все работает отлично, стоит только добавить фунцию GetAngle(); так возникает проблема DAbt_Handler?A, причем все время по разному. Обмен может происходить 30 секунд, минуту, но все равно срабатывает прерывание по DAbt_Handler?A. while(1) { AppBrake = GetAppBrake(); //____________________________________________ Опрос углов _____________________________ Azimut.Angle = GetAngle() + Azimut.Corr; Elev.Angle = 14.5 + Elev.Corr; ... // Рсчеты, расчеты //___________________________________________ Обработка команд по RS _________________ switch (Action) // !!!!!! { case PACK: IDCommand(PackNumber); Action = FALSE; for (cl = 0; cl < 20; cl ++) PackRead[cl] = 0; break; case ERR_CHECK: WriteData(PackRead[1], "d", 1); Action = FALSE; for (cl = 0; cl < 20; cl ++) PackRead[cl] = 0; break; case ERR_PACK: WriteData(PackRead[1], "e", 1); Action = FALSE; for (cl = 0; cl < 20; cl ++) PackRead[cl] = 0; break; } } Функция GetAngle() float GetAngle() { USHORT *Adress; USHORT go, to; int s, c, turn; float res; c = 0; go = 0; to = 0; //====================== Азимут ===================================================== Adress = 0x82020000; //грубый отсчет IOCLR1 = SP(21); go = *Adress; IOSET1 = SP(21); Adress = 0x82040000; //точный отсчет IOCLR1 = 0x200000; to = *Adress; IOSET1 = 0x200000; s = (go & 0x7FF) - (to >> 5); if (s > 1500) c = 2047; if (s < -1500) c = - 2047; go = go & 0xF800; res = go + (to >> 5) + c; turn = IOPIN0; turn = (turn >> 19) & 1; if ( (turn == 1) && (res < 50000) ) res += 65536; res = res * 360 / 65536; return res - 5; } Вообщем что делать ума не приложу. Что то в уме смутно бродит про защиту выполнения кода от прерывания. Есть ли такое? и поможет ли?
  11. IAP вроде не позволяет считывать данные (произвольные) ? IAP Command Command Code Described in Prepare sector(s) for write operation 50 Copy RAM to Flash 51 Erase sector(s) 52 Blank check sector(s) 53 Read Part ID 54 Read Boot code version 55 Compare 56
  12. Опыт работы 2 года в сфере разработки программного обеспечения для управления различных типов двигателей следящих систем на основе микроконтроллеров семейства ARM (LPC2294, LPC2221). Знание пакета Keil mVision3, отладка программы через JTAG, загрузка программы через JTAG и RS232. Знание интерфейсов: RS232, RS485, I2C, SPI, CAN. Разработка протоколов обмена. Разработка программного обеспечения (оболочка для управления и мониторинга системы) для ПК на Visual C++ и C# 2005. Дополнительно: Моделирование следящих систем в пакете Simulink. Оценка точности и устойчивости системы. Подбор корректирующего контура и использование его в программе микроконтроллера. Заинтересован в удаленной работе: разработка программного обеспечения для микроконтроллера и ПК. Образование:Окончил МГТУ им. Баумана по специальности «Специальное машиностроение», специализация «Мехатроника». 1999 - 2005. Трудовая биография:С 2005 по настоящее время: НИИ Точных приборов. Инженер 1 категории. Разработка ПО для микроконтроллеров и ПК. Для связи пишите на [email protected]
  13. LPC2294, пишу на С, под Keil, загружаю через ULINK Возможно ли записать во FLASH по адресу какую нить переменную для сохранности ? Если возможно то как ?
×
×
  • Создать...