Process “Map” failed

Ma mar megint egy orat szoptam az idiota Xilinx ISE fejleszto kornyezet miatt.

Delelott a LUT-ok INIT ertekenek megadasaval “szorakoztam”. A View Technology Schematic-nal van egy INIT ertek (ami mindig 0000) es egy INITSTATE ertek. Mivel a dokumentacioban mindenhol INIT-et irnak a kezdoertek megadasanal, ezert probaltam az XST-t ravenni hogy generaljon valamit nullatol kulonbozo INIT ertekkel. Nem sikerult, a vegen mar a shift register primitive-nek adtam meg kozvetlenul INIT erteket, de az is az INITSTATE erteket allitja.
//reg [B-1:0] data = init0;
SRLC16E #(.INIT(init0))

Ez utan ellenorizni akartam, hogy mi is kerul be az FPGA-ba. Elinditottam az implementaciot, de a Map fazis ‘Process “Map” failed’ hibaval leallt. Semmi magyarazattal, hiba okaval nem szolgat. A naploban, Console-ban irt ‘map …’ parancsot parancssorbol lefuttattam, es hiba nelkul vegzett. Persze ettol nem mentem semmire, mert a fejlesztokornyezet nem engedett tovabb, mondva hogy egy elozo fazist nem sikerult teljesiteni. Gondoltam hatha rosz konyvtarban probalja futtatni, vagy esetleg rosz ‘map’ allomanyt probal elinditani. Ki is adtam egy where parancsot, ami talalt egy map. es egy map.bat filet a Perl egyik konyvtaraban. Viszont mivel mind a Project Navigator es a command-line a Xilinx settings64.bat-javal lett inditva, ezert ezek a xilinxos map.exe utan kovetkeztek. Ellenoriztem is Process Explorerrel a kornyezeti valtozokat, es a path megfeleloen volt beallitva. Ettol fuggetlenul azert atneveztem a map.bat filet biztos ami biztos alapon. A kiterjesztes nelkuli map perl script meg ugye nem futtathato. Persze igy sem oldodott meg a problema, meg mindig a titokzatos ‘Process “Map” failed’ hibaval allt le az implementacio folyamata. A Google kereseseim megint csak eredmenytelenek voltak.
Ekkor elovettem a Moo0 File Monitort, a SysInternals FileMon programjat, es meg parat, de egyik se segitett. Vegul a szinten SysInternalsos Process Monitor (Procmon) segitett. Kiderult hogy valamilyen erthetetlen okbol fogva ez az idiota ISE 13.1 az ‘E:\Perl\site\bin\map’ filet probalta olvasni. Amint atneveztem sikerult a Map.

Most mar meg tudtam nezni a Xilinx FPGA Editorral a generalt LUTokat kozelebbrol, es ugy tunik jol be vannak allitva az INITSTATE ertekre. De akkor mi az az INIT es minek van ott a Technology Schematic nezetnel? Es mi a halalert probalkozik a perl kiterjesztes nelkuli map-javal? (A map.bat meg mindig ott van, de az nem zavarja)
WTF?

Tray Timer

Összeraktam egy kis időzítő programot ma. Ez nem ébresztő óra, arra ott van az outlook, lightning (thunderbird), vagy akár a google online naptára. (Meg még vagy ezer maásik program).
Ez arra jó, ha gyorsan be akarjuk állítani, hogy pl. 10 perc mulva jelezzen (hogy megfőtt a kemény tojás).
Gyorsan és egyszerűen egérrel, vagy billentyűzettel be tudjuk állítani, lehet hang jelzéssel, vagy a nélkül, egyszerre akár több (korlátlan) időzítőt is elindíthatunk, lehet utána törölni a feleslegeseket.

Még kicsit félkész, de már jól használható.

FSTrayTimer_bin_20110201
FSTrayTimer_src_20110201

Update 2011/01

Eleg reg irtam barmit, itt van par idei dolog:

Most epp az Al Jazeera English: Live Stream-et nezem az Egyiptomi felkelesrol.

Tovabbra is nezem a G4TV AOTS uj studiojat. Es neha megjegyzeseket is fuzok egyes reszekhez.

Elkeszult a mikrokontroller vezerlesu 48V-os DCDC tap.

Keszult egy kis a PC hangkartyajat hasznalo induktivitas szamito program. Lehet vele atviteli fuggvenyt FFT spektrumot is rajzoltatni..

Az Akademik Fjodorov 201 napos útja az Déli-sarkon és környékén. (video)

vicces kepek: F***in’ locks, how do they work?

Egyeb rovid erdekessegek itt: twitter.com/szir

Delphi szálak, üzenetek…

Néhány hasznos dolog Delphi programozóknak ami eddig kimaradt.

Még régebben találtam egy jo kis magyar leírást a többszálúságról pontosabban annak elkerüléséről Delphiben, miközben a felhasználói felletet nem akadályozva akarunk hosszabb ideig tartó műveleteket végezni.
szálőrület bejegyzései: TThread, Application.ProcessMessages, PeekMessage, OnIdle

A Windows üzenetkezeléséről Delphiben egy másik hasznos leírás a A Key’s Odyssey

Dynamic array, open array parameters, array of const @ Rudy’s Delphi Corner – Open array parameters

Debugging with OutputDebugString() @ Delphi Tips – Delphi Programming

Persze még van sok minden de most ezek jutottak eszembe.

USB Boot

Egy USB-rol bootolo BartPE-t akartam eredetileg osszerakni, de kicsit tovabb tartott mint elsore gondoltam. Sajnos az iso bootolasa nem az igazi.
Mort tobb boot loadert is ki lehet valasztani. A boot szektorban az NT rendes boot loadere van, a boot.ini-bol lehet kivalasztani:
– a windows install cd setup loaderet ami a winnt.sif utasítására betolti az iso-t ram drive-ra (max 500MB)
– a GRUB4DOS boot loadert
– egy telepitett windowst
GRUB ala be van integralva az Ultimate Boot CD (grub menuvel). Eredetileg a GParted-et raktam be ami meg mindig bent van Memtesttel. Probaltam a Clonezillat is berakni de nem sikerult, a syslinux bootolasa sem sikerult se nt alol se grubbol. A GRUB menubol meg lehet hivni az ntldr-t vagy a setupldr.bin-t is. DOS boot floppy-k betoltese is mukodik.

D

Ma egy új program nyelvvel ismerkedtem meg: D
Éppen egy genetikai mintaillesztésen (short-read) gondolkodtam. Rendezési, indexelési algoritmusokat olvasgattam a neten, amikor egy in-place radix sort algorithm kérdésbe futottam bele, ahol egy D mintakódot láttam, és felkeltette az érdeklődésemet. Ahogy olvastam a nyelv leírását, összehasonlításokat C++-szal, újra előjöttek a különböző programozási nyelvekről alkotott gondolataim.
Az évek során elég sok programozási nyelvvel találkoztam: asm, asp, basic, bapc, c, c++, c#, clipper, delphi, java, js, pascal, perl, php, vbs, és ami most nem jut eszembe. Persze nem mindben programozok napi szinten, de írtam bennük működÅ‘ programot. Az elsÅ‘ a basic volt még C64-en 🙂 Persze ezeken kívül láttam vagy hallottam még egyéb programnyelvekrÅ‘l is (ada, cobol, fortran, python).
Minden nyelvnek megvannak az előnyei hátrányai. A delphiben imádom a string kezelést. Szeintem ez a legnagyobb előnye a c-vel szemben. Egyszerű kezelni, hatékony, másolható, összefőzhető, gyors (referencia számlált), nem kell bajlódni a memória kezeléssel. A c programok jelentős részében a hibák, biztonsági rések oka a helytelen memória kezelés, string műveletek. Amikor egy függvény több karaktert ír a visszatérési bufferbe, mint annak a mérete, lásd scanf, gets, wchat konverzió.
A másik amit szeretek a delphiben a függvény paraméterek kezelése: érték szerinti, const ill. var referencia szerinti átadás. Tiszta, jól látható, könnyen módosítható. Kiráz a hideg, amikor a c pointer változó átadásaira gondolok, és hogy milyen könnyű hibás kódot irni. A c++ referencia paraméteri már sokkal jobbak.
A Delphiben az erős típusosság is jól jön időnként, megkönnyíti a véletlen hibák kiszűrését, programozást az IDE-ben.
Egy másik dolog ami elég megtévesztÅ‘ tud lenni c-ben, az a pointer növelés és tömb indexelés: int32 a[5]; a[3] == *(a+3), word hi=*(word*)(a+2), hi=*(word*)((int)a+2), hi=*(word*)((char*)a+2) … én egy konstans eltolástól naivan egy mov word ptr [dx+2]-t várnék, egy indexeléstÅ‘l pedig mov word ptr [dx+idx*sizeof]-ot, de a c szerint az eltolás is típusfüggÅ‘ indexelés…
A C#-ban a using blokk hasznos a biztonságos erőforrás felszabadításhoz.
Na mára ennyi elég…

MySQL ODBC

Ezzel mindig meggyulik a bajom gep installalas utan. Most 64 bites Win 2003 -ra kellett megoldanom, hogy normaliasn lefusson a regota hasznalt VBScript.

Az alabbi filokat tettem fel (sorrendben):
mysql-connector-odbc-3.51.27-win32.msi
WindowsServer2003.WindowsXP-KB948459-v2-x64-ENU.exe
mysql-connector-odbc-noinstall-3.51.27-winx64.zip

Az elso utan az Administrative Tools – Data Sources (ODBC) (%SystemRoot%\system32\odbcad32.exe)- nal nem jelenik meg a MySQL ODBC drivere. A 32 bites drivereketet egy masik programmal lehet megnezni: %SystemRoot%\sysWOW64\odbcad32.exe

A script folyamatosan ADODB.Connection errorral alt le a Providerre panaszkodva, igy jutottam el oda, hogy talan az MSDASQL provider hianyzik:
64-Bit OLEDB Provider for ODBC (MSDASQL)

Ezutan mar a datasource-re panaszkodott. Igy hat jott a 64 bites odbc install (“install.bat 0”).

Most mar mukodik
Set Conn = CreateObject("ADODB.Connection")
Conn.Provider = "MSDASQL"
Conn.Open "Driver={MySQL ODBC 3.51 Driver}; Server="&MysqlServer&"; Database="&MysqlDB&";", MysqlUser, MysqlPassword

C# – VB.NET

Most hogy probaltam a C#-ban megirt kodot VB-re atirni jottem ra, hogy meg a 3.5-os VB.NETben sincs automatikusan implementalt property…
Automatically implemented properties
Auto-implemented Properties in VB and C#
Igaz, hogy Delphiben sincs, de nem is nagyon van ra szukseg. A VB-nek viszont nagyon kene.

Lassuk mit tudnak az automata konverterek:
Az elso viszonylag jol hasznalhato, bar meg nem volt idom tesztelni
Convert C# to VB.NET
a tobbi amit eddig talaltam ennel gyengebb:
converter.telerik.com
KamalPatel.Net – Convert C# to VB .NET