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?

Přikládám vše potřebné. Soubory jsem pojmenoval dle toho příkladu na tom linku. Už to jen provést

Děkuju moc a pevně doufám že to bude hračka
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

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?

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

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

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á..
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

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 convertedMáš 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

Ale samozřejmě tak či onak velmi děkuji a jde mi jen o Váš čas

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ů

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