Stránka 1 z 2

Skript v Perlu

Napsal: 22 úno 2011 14:06
od Zeppelin
Ahoj, už dlooooouho řeším problém s jednou knihovnou kolem programování MCU a teď se snad blížím k cíli. Jenže potřebuju převést soubor typu ".s43" na ".asm" na což je Perl Skript ale nedaří se mi to použít. Určitě se tu najde někdo kdo Perlu rozumí a bude to pro něj otázka dvou minut že? :wink: Přikládám vše potřebné. Soubory jsem pojmenoval dle toho příkladu na tom linku. Už to jen provést :wink: Děkuju moc a pevně doufám že to bude hračka :D

Tady je o tom skriptu: http://processors.wiki.ti.com/index.php ... erl_Script

--- Doplnění předchozího příspěvku (1) ---

Nenajde se zkušený programátor co to prubne? :-(

Re: Skript v Perlu

Napsal: 23 úno 2011 00:33
od CZechBoY
tak Perl je skoro stejnej jako PHP, to bych mohl zvládnout, pokud je to něco jednoduššího :D
co ti to hlásí za chyby? v čem je problém?
já jsem zvyklej u Perl. skriptů na koncovku .pl který soubor mám otevřít? :D

Re: Skript v Perlu

Napsal: 23 úno 2011 07:41
od Zeppelin
Ahoj, moc Ti dík za snahu. Takže: je to soubor "iar2cce.pl" ten má udělat to, že ze souboru "assembly_file_1.s43" udělá "assembly_file_1.asm" Oni už tam oba soubory jsou ale musí se ten ".asm" naplnit... teď je prázdný. Jde o to že ".s43" je assembler se syntaxí IAR (vývojové prostředí) a převede se to so syntaxe CCS (vývojové prostředí). Vše popisují na tom linku dole. Mě to píše pořád něco že to nezná ten a ten příkaz- vždy ten čím mi začíná script :D takže dělám nějakou syntaktickou chybu. Děkuju moc.

http://processors.wiki.ti.com/index.php ... erl_Script

Re: Skript v Perlu

Napsal: 23 úno 2011 07:50
od CZechBoY
už ti někdy vůbec nějaký Perlový skript běžel?
Perl nemá snad žádný začátek kódu, na wikipedii aspoň nemaj

Re: Skript v Perlu

Napsal: 23 úno 2011 09:15
od Zeppelin
No já nic jinýho v Perlu nezkoušel :D já se nechci učit Perl kvůli jednomu skriptu. Já potřebuju jen udělat tuhle věc jinak jedu v C.

Re: Skript v Perlu

Napsal: 23 úno 2011 16:05
od CZechBoY
tak zkus nějakej základní skript typu "Hello world" a jestli to něco udělá..

Kód: Vybrat vše

print "Hello world!";

Re: Skript v Perlu

Napsal: 23 úno 2011 16:47
od Zeppelin
JJ, jede to v pohodě. Ale jde tu o to že nevím jak napsat skript který udělá to co já potřebuju :D

Re: Skript v Perlu

Napsal: 23 úno 2011 17:40
od faraon
Koukám do toho odkazovaného návodu, a vidím tam tohle:
!readme.txt Contains the names of all assembly files in the folder that need to be converted
Máš tam soubor toho jména a požadovaného obsahu?
Jinak to assembly_file_n.asm je myšleno jako poslední soubor v pořadí s číslem n, takže ten tam vůbec mít nemusíš.

A k provádění toho skriptu tam je, že má dostat dva parametry msp430_device_name a msp430_family_name, podle kterých pozná které hlavičkové soubory má použít. Ale protož anglicky moc neumím, a Perl vůbec, tak mi není jasné jestli se mají zadat do příkazové řádky nebo se na ně zeptá až za běhu.

Napiš sem tu chybovou hlášku celou, přesně tak jak jí dostaneš, ať vím přesně co po tobě chce.

Ale jak tak do toho skriptu koukám, co máš za operační systém? Jestli jedeš na Windowsu, tak by ti mohl dělat problémy už řádek #!/usr/bin/perl! Ten je tam totiž pro linuxáky ;-)

Re: Skript v Perlu

Napsal: 23 úno 2011 18:23
od Zeppelin
No já tam píšu to co ten člověk na tom linku co přikládám dole. Ale jemu to jede :-( Jinak přikládám ten screen.

Ve skriptu mám tohle: perl msp430f2012 msp430f2012.h

http://e2e.ti.com/support/microcontroll ... 49535.aspx

Re: Skript v Perlu

Napsal: 23 úno 2011 19:14
od faraon
Zkus odstranit prvních osm řádků toho skriptu, aby začínal až tímhle:
use strict;
use warnings;


Pak mi není jasné co má být "$INC[0]/" o pár řádků níž, je to nějaká systémová proměnná, která by měla ukazovat cestu k těm hlavičkovým souborům. Ale jestli to máš všechno v jednom adresáři, tak by to tam nemuselo vůbec být, takže by začátek toho skriptu mohl celý vypadat takhle:

Kód: Vybrat vše

use strict;
use warnings;

my $index = 0;                              #Index for loop iterations

#Retrieve the cmd file and header file from the command line parameters
my ($msp430_command,$msp430_header) = @ARGV;
$msp430_command = "lnk_" . "$msp430_command" . ".cmd";
$msp430_header = "$msp430_header";

Ale teď mě napadlo, vždyť ty vlastně spouštíš perlový skript s příponou .pl, takže se ti spustí přímo v Perlu, ale v něm máš dosový příkaz, který by měl provést CMD! Perl si ho chce přebrat po svém, a marně hledá nějakou funkci s názvem perl... Takže si ze všeho nejdřív změň příponu na Skript.BAT a uvidíme.

Re: Skript v Perlu

Napsal: 23 úno 2011 22:08
od Zeppelin
Tak jsem to přejmenoval, vytvořil soubor !readme.txt ve kterém je název toho souboru který se má zkonvertovat. Zkoušel jsem pak různé příkazy v cmd.exe Přikládám nový screen. Jinak v prvním příspěvku je ke stažení archiv s těma souborama. Myslím, že by bylo mnohem rychlejší to zkusit než se pracně rozepisovat s popisem co a jak mám dělat :D Ale samozřejmě tak či onak velmi děkuji a jde mi jen o Váš čas :D

Re: Skript v Perlu

Napsal: 23 úno 2011 22:31
od faraon
Já to můžu zkusit, ale nic to nedá, protože na Linuxu mi to bude fungovat bez problémů :-D
Ale už se asi blížíme, akorát jsem si mohl všimnout že ten příkaz je blbě :-( Ten perl tam vůbec nemá být, jenom
iar2cce.pl msp430f2012 msp430f2012.h