From aa8f7029169073fc29466177c7181ac37f412afd Mon Sep 17 00:00:00 2001 From: GrisC Date: Fri, 8 Jul 2022 13:07:36 -0600 Subject: [PATCH] first commit --- 1.jpeg | Bin 0 -> 25195 bytes 2.jpeg | Bin 0 -> 24811 bytes Guía de usuario MSP430 GCC Toolchain.md | 196 +++++++++++++++++++++++ 3 files changed, 196 insertions(+) create mode 100644 1.jpeg create mode 100644 2.jpeg create mode 100644 Guía de usuario MSP430 GCC Toolchain.md diff --git a/1.jpeg b/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f4812b39956835390f42ecffd7894e0d24d11921 GIT binary patch literal 25195 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%0Du4h5M7uo(7x}| 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

#o6t+3wIyevXBk&i)&$cj*>6egq}Y>z`e=8 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 R^u6O-p+|9KF32Ca{{qv$!CC+S literal 0 HcmV?d00001 diff --git a/2.jpeg b/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a9f7be4c021d03a262bdfba992470f6249b29543 GIT binary patch literal 24811 zcmeFZcT`hbyEhs;ph!mnK`EgZ=^d4xgc@o>6QqSIy$HHhdQS)-T>=3T2)$RO_uiY* zr7Bevl^fi9pLd^o&o}P*-f_ph_m49($a?0SPn*B>teG{RH5X@7XCDESU{#PR;KBs} z-~#ajI9s~N4N_9F(1B{Jf;3cqcU-&;AePJb0RU$gPj{%A;yq&+{N8!n-^KEY$J4** z|Kdp0dpvQj9RL^=_%HhZ@0v)hZ9JY3nZ6MJJl%=LiOyORXQ6fAoOaiT zDiL|!5@~L`f6!L{pnW`_dJ=iM&iS7_bw8))h_sxulh?Ve^K$O-4I38&J>t=r_;&~3 z0e}M30E$HV|IzXeK}ktPNp^#phMJOwNK>9Gxo|Fd=`smXkn%d|bzGDNVVz&(?0C45v#miT3TqhbPp&+td zxOnL@k%fwyh80bFOV}u3goKWs?UAm5q1WixxP+vd>NFe;~vlv7+uS=H9#)$5?FZ0!3*q8TQleWDNl^y0$B%a@2|h@J9OfQx{O zSFc?ryLjR9rQeQTxJY&BGOMsI@(MNGBTKg|8tBU}S7}8=#oSBZ4==JQ?p?!_jj)TO zTFzzwH;5ucb}GOFz%0K+op3Ytr)>*^J}Ay)ECNsd-Ap0@oJX@6V|OZM< zp{URL@#4;1MK+pEgR2AI=j|1?DNhvrrDQGn+7Y_3zgoIFM}@bO43vbA`c%2Pc}4B( z$JToSYF7`)4QAS}#$<({c)7D(Jw;p#)MA-W4nR+BAZk@qq=aBd6zD znY*(r@GG5=&t7j&O9G6?d5-G*H$^RM+N2gYLF6en;t$sNM2qV&$ViIeBCU*4K((Sp0(Yl0Xt7a9Mb?t2aT=j) zVrrNgOsw#cSW?%lpR$P#hNEz#uwObS?BEt?>eT9CcC|@jN~)7ACxPbSG8I8k54D+t zMDo4Ukj}1l8NB`Z2CZ%$?fvQ11cwx+51H};Tn0+bG`%s^3tNxAK0c9=KeiB@oPKdw zao3xqUXnh)`momXgf?PcP~X0E9h;IPub2_>E0M6a4=o3!(85^2>;gHkxJ-YmUin;^ z_ex5)j-+H93_R7sHY7hNe4RK~x`LDZ5X$_Sa6Y1upPFOb`=WPA@D0ytnC0Q2b$Sy# z&pO|37=3unT>P7*)1kQKn|D(+oTC0hU1W$|@|(q;ly13Petd=eh`d#5!_D--TfLP> zbwhzuQZj*u7J}8k&BXZE?B5yg+rO)2$UIIR)(6H9`KWuPxa@6984U;2eK0u(cm36e z;QjT0-Sgqu807#>H1=8Y4ScMnlx?4>sXKU5d{0{<=m~8<(~>{25S09_cuUM8cz-cq zckHe==|yt{3qp&L($<`HTA%l4Ykbk@ZrEPR=az3zn|vH7>aQ{S?Cn1Z+^g3KoVv$l z@WH0FYmiNNXnddy22`~&P%S(I;BM9$f2P-SKLZGwx;9Ck3tip4=P@7PLNq{j`t?#W zg6hqt*+7|gsIaRp{;L8u(7k+tKV|#jdeh1LCxz{cK9qhtO_Kf;^;a~F9KuaB+M;Ea z7ga$sKz-ig@044W2|vTZaCEoWJ3750K#0)#98|((E z8+>p5)tQ#oJh)o*Z9ZRNn_TukIQ_2;Gu(FCEcV!B_Ag(M%U%6T9TD=055I0W6aBtb zf35JT%@X;!Dz)MX+0JmN@CCUy)5LKIdEczmY@`0>K=hKx*3c_FRuS;N9N##IQ)o2) z%%U)5MImq0@mcZf*rmXzq^=A+iv<7 zM=u2LzI%{%#XROOmc`jS55Fw`DJ{Jda?fKtz~zu={2D_h*S(^_0v}R?&F6bldc_Cd z9RG9$C~^jPkl4HILqsEhx@tusTy2^1FwmmT%m{bdX$fkMT`fDA&o|$`t9;BL2 zmP;?F=-i<^DltBI_I?NWylAMRxb3h6qU+QI`TW~@$&ZWOGbV$X1-~a5T_G7X-o`Lk zgn`RAaUE$3OB{Lpur`eDRe@5ZUZFQ8V@sQ7IvQ%0X1%1zNHXMfAixG4d~m2r2Cv|0 z8!2VV$1R0(%op~WWj9KHZ~98ScCJNaX*Mlu<)}Hbe2yj^HDaFU_M{Pcq!Kuvx#!Y4 zf>4l8j&e3?9;aq^nVsAk$K~;gf`V2HczF$H78K2N>#)}8^kbDfzlzMM7Je?9`a83_ z(7-CC$GI96%qRQ4bpnlamBeC7q3ze>ZMFQ7-fB>t-3JzR5Oy(?r4HIwCD9J4N6}%? z_cX$6q!N4Qh1Eq(H4NPIJDd7od-BLWEy*Ooto!DdWKe`-$d+aUT6%#1cIy4=owWOA zcegHgPEB{#oPIf`BzFiAhtZ0N8uP2|PG;~80Br8NBgxV$rQ?mtzpmm}1v=bjj=gZM zaNf?N8YYT ztxC||^{+T69$sY+QH_U4Z4kPL6lHC#M?f+Iho_Sw!vff(dyD$Tb?xT7b~Kt=gUe3H zV$df>#$f*l+!e;B?L5tEN4BeuhVGlTD&|HJ&*84IWp7UleI0H!-OJA^)$Hi)ug)3g ziHp`!$&yl@3-7yM-i5#|y!R|i6m-YVfrTAmaw zzTIHdv3~K*ioy4nTMHJOotG1GtMQ}D$ggmNO#^?hF?AYG{fCv=ZD5^nNNQC4{Yh$< ziaB&Q{pnGPrl!~$8_&Fc2%}py^@w_9*d&)+6@vg5(w$O!R6)+!0-waS%>7mYlX2w= zd+^;PosQ*~$~{GtR4f!z9M2KM%@@125<<|xUKb4+Pfk#%=5e@ywY|CDdUC*;-ICBQ z>so7a+2hACcV)@Rd6kZTR+182{7FqimhOXf=~b=ceIRTigZv>XyA)Ib#ZJ5K^7b1! zo8t29N>|9;-3@UP)!?JPZiASVkc5$8#nig7jKi;c>XB9V1j9*|WHt>Q+#r2T9#lT` zw`Qvo+)~mzjR}yviUaqUuv(DJv)C+7buV?XjkWl0W#uw0lzKm>)$kk(+c)#+xs~t3 z-NrRhrU{XD9`Rdh@CtDm>}5KCKGv5U#q&OC&O(}7Vuz)APz##WJs#ov(AO+e-b4O} zb-8*v+eWxg@dCj`Z}N8$mHE12Y9)s+dJx;7Td^|z%TwbnV~8VM1@EeJPy8OfH&-!1 zF5!@n5pkBJ06V0O ztv>_zAnRwMrr4AI(%SB$tT_n|Uq^|Kb)rsu<-_VUW_U7AJ=lzgSFSI>8_OgA%4u5; z^kDf<4%t`d&M*<35iCI8MjwHlNZj*KkjI;54}_(>ud?6WOMP+(vy;b8IRC=>#sP)AX`h$;q_o{Sqgh&_Mfda*}OI{PjN0F2qV*@p$5X z3|8waU6Or2|3O!%FfO`NL`3kB_0lBekLuq%>yf69zDy7Z1KNaJaK*yv1TRLPnsENG zGG=XdO-@xV-|99BeiM_NSh$p&MDyTDdu1Ky2y?1M2v^I-ec^$ABFNd=s#K`)PPxKz zQ4E*AG*eQbDu1h{zx83Y7hY8@txy3T@pAH~DlfS0#clV{X?9pd;B}T^3*DP8wcyFU zGXP`NS0a;CQFBA3^DZjTK0VK%eMNPkaB-}ory^B%J?{8nHIh!bu=dK=h^^CJ!v!M9 zv6$BDhs{y5&xo!85#S=Bdxu^&yPHOE)mNkntW#VkrOg4QL~Zi+Zcm>3SV_aS4NS&L0AiwMC`~^$&*eWZn>E#VV9Y476bfu z^ehx$)si5Via>hW4=UY%(gquh^&f`n^7RPqish=YrVi4ACc_qCi*>F2R17(NWl;SD zC#Xg(WK94Y7t5!WWA`QD)foVzyLI&uKVMTX>TknaUz($SgDl!^QlPvp;T=LS4hE~g zrOVbkNRJ6qE4(9Zqo3i=*Xbn@AF-M7h!YhRtvVXb@}gp8*z3iIxGt3tqm380tG@pB zkI|z2$Dij~4OSrk88@tBNWVIil{e zj-@4{aSh3z^!>

FGk~CVO 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%0DKsTGa<~B?Q%Ck~B#{$h!yf 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 bpLCr=o$zXOpm*aHmAdV@S9N(>zB2y@>E|PD literal 0 HcmV?d00001 diff --git a/Guía de usuario MSP430 GCC Toolchain.md b/Guía de usuario MSP430 GCC Toolchain.md new file mode 100644 index 0000000..be25659 --- /dev/null +++ b/Guía de usuario MSP430 GCC Toolchain.md @@ -0,0 +1,196 @@ +# Guía de usuario MSP430 GCC Toolchain + +------ + +[^]: Para usuarios de Linux + +**Abstract** + +This manual aims to describe the setup and basic operations of the MSP430 GCC toolchain to know how to use the open-source GCC compiler for microcontrollers to build an example for an MSP430 target device using the command terminal of Linux. It will also be shown how to debug software with the GDB Agent and the GNU Debugger tools so that the program that was built can be uploaded to the target device successfully. + +------ + +## Introducciòn + +El paquete GCC de código abierto es un depurador completo y una cadena de herramientas de compilación C/C++ de código abierto para la creación y depuración de aplicaciones integradas basadas en microcontroladores MSP430. Este compilador soporta todos los dispositivos MSP430 sin limitaciones de tamaño de código. Este compilador se puede utilizar de forma independiente desde la línea de comandos o dentro de Code Composer Studio v6.0 o posterior[1]. + +El paquete de instalación incluye lo siguiente: + +1. Binarios GCC y GDB para Windows y Linux +2. Encabezado MSP430 y archivos de enlace +3. Código fuente +4. GBD Agent Configuration + +#### Instalación de MSP430 GCC como paquete independiente + +El primer paso es bastante sencillo, consiste en abrir la terminal de comando y direccionarse a la carpeta en donde se guardará el archivo que contenga el programa a ejecutar. +Con el comando **cd** se puede entrar a alguna carpeta en específico como lo puede ser la carpeta de **Descargas**, Ejemplo: + +```c +$ cd Descargas +``` + +Antes de continuar con el siguiente paso se debe dirigir a la pagina oficial de TI (Texas Instruments) y yendo directamente a la siguiente pagina [https://www.ti.com/tool/MSP430\-GCC\-OPENSOURCE]() en la pestaña de descargas seleccione la opción mas factible para su computadora en este caso **Mitto Systems GCC 64-bit Linux installer incl. support files**. + +Una vez descargada, se debe buscar en la carpeta de descargas el nombre del archivo. +Ya una vez se tiene el nombre del archivo descargado, en la terminal de comando se debe colocar lo siguiente, lo cual nos permitirá instalar el programa, colocando sudo **chmod +x .run** y el comando **./**. + +```c +$ sudo chmod +x msp430-gcc-full-linux-X64-installer-9.3.1.2.run +$ ./msp430-gcc-full-linux-X64-installer-9.3.1.2.run +``` + +Lo cual abrirá la siguiente ventana: + +![](/home/griscampos/Descargas/msp430Guia/1.jpeg) + +Seleccione el directorio de instalacion y de click en **Next** hasta finalizar . + +Como se muestra en la siguiente imagen. + +![](/home/griscampos/Descargas/msp430Guia/2.jpeg) + +Crea una carpeta en donde colocaras el código. + +> Comando para crear carpetas desde la terminal , el comando **mkdir** + el nombre del nuevo archivo. +> Comando para encontrar carpetas dentro de la carpeta en la que se encuentra **dir**. +> Comando para entrar en carpeta **cd**. + +```c +$ mkdir Programa1 +$ dir +$ cd Programa1 +``` + +Ya dentro de la carpeta en la que colocaras el código coloca el siguiente comando para colocar el código desde la terminal. + +```c +$ main.c +``` + +En el cual se copiara y pegara cualquier código a utilizar. + Ejemplo de código blink led. + +```c +int main(void) { + volatile int i; + + // stop watchdog timer\\ + WDTCTL = WDTPW | WDTHOLD; + // set up bit 0 of P1 as output\\ + P1DIR = 0x01; + // intialize bit 0 of P1 to 0\\ + P1OUT = 0x00; + + // loop forever\\ + for (;;) { + // toggle bit 0 of P1\\ + %P1OUT ^= 0x01; + // delay for a while\\ + for (i = 0; i < 0x6000; i++); + } +} +``` + +#### Compilar un programa desde la termial + +Una vez completados los pasos anteriores, puedes compilar tu programa desde la terminal. + +```c +$ ./msp430-elf-gcc -I ~/msp430-gcc/include -L ~/msp430-gcc/include -T ~/msp430-gcc/include/msp430fr6989.ld -mmcu=msp430fr6989 -O2 -g ~/Documentos/Code/main.c -o ~/Documentos/Code/main.o +``` + +Primero debes ingresar a la dirección en donde se encuentra instalado el MSP430- GCC y redireccionarte a la carpeta bin. +Para compilar se coloca ./ seguida de la dirección msp430-elf-gcc +Y después coloca los parámetros correspondientes a -I, -L, -T, -g, -o, mmcu +Donde: +-I : Dirección donde se encuentran las librerías +-L: Dirección donde se encuentran las librerías +-T: Dirección donde se encuentra las librerías del microcontrolador\\ especificando cual utilizaras +-g: dirección donde se encuentra tu archivo .c +-o: dirección donde se encuentra tu archivo .c con la diferencia que se cambia el .c por .o +Mmcu: especifica el microcontrolador que utilizaras + +### Creación de un nuevo proyecto + +------ + +##### Pasos para la creación de un nuevo proyecto + +1. Crear un directorio para el nuevo proyecto. +2. Insertar el archivo .c que contiene el programa que se subirá a la tarjeta. Para crear un archivo .c vea el apartado **Creación de un archivo .c**. +3. Dentro de la carpeta que se instaló (msp430-gcc), hay un directorio llamado **examples** que contiene ejemplos predeterminados. Copiar uno de los archivos **Makefile** de los proyectos de ejemplo dentro del directorio de su nuevo proyecto. +4. Abrir el archivo **Makefile** que copió y cambiar el formato de estructura actual por el que se muestra en la Figura Estructura de archivo Makefile. En la variable **OBJECTS** se debe colocar el nombre del programa que se va a subir (archivo .c) respetando la terminación **.o**. En la variable **DEVICE** se debe colocar el nombre del microcontrolador que se usará. +5. Colocar las rutas de instalación correpondientes para las variables **GCC\_DIR** y **SUPPORT\_FILE\_DIRECTORY**. Las direcciones para las variables son **../../../bin** y **../../../include** respectivamente como se muestra en el siguiente ejemplo. + +```c +OBJECTS=main.o + +GCC_DIR = /home/griscampos/msp430-gcc/bin +SUPPORT_FILE_DIRECTORY = /home/griscampos/msp430-gcc/include + +DEVICE = msp430fr6989 +CC = $(GCC_DIR)/msp430-elf-gcc +GDB = $(GCC_DIR)/msp430-elf-gdb + +CFLAGS = -I $(SUPPORT_FILE_DIRECTORY) -mmcu=$(DEVICE) -O2 -g +LFLAGS = -L $(SUPPORT_FILE_DIRECTORY) -T $(DEVICE).ld + +all: ${OBJECTS} + $(CC) $(CFLAGS) $(LFLAGS) $? -o $(DEVICE).out + + +debug: all + $(GDB) $(DEVICE).out +``` + +#### Creación de un archivo .c + +Para crear un archivo .c dirijase en el directorio en el que lo desea crear y digite el siguiente comando **pico filename.c**. Por fines explicativos, como ejemplo, se creará un archivo .c llamado **Ejemplo** en la carpeta **Programa1**,como se muestra el comando antes mencionado adaptado al ejemplo. + +```c +$ pico ejemplo.c +``` + +Para crear un archivo .c dirijase en el directorio en el que lo desea crear y digite el siguiente comando **pico filename.c**. Por fines explicativos, como ejemplo, se creará un archivo .c llamado **Ejemplo** en la carpeta **Programa1**, en la Figura se muestra el comando antes mencionado adaptado al ejemplo. + +# falta imagen aquiii + +### Debugging + +> Uso del agente GDB + +###### Introducciòn + +El agente GDB es una herramienta para conectar el GDB con el hardware de destino para depurar su software. El GDB +El agente utiliza la pila de depuración MSP430 para conectarse al hardware y proporciona una interfaz al GDB. +En Windows, se proporciona una consola y una versión de aplicación GUI del agente GDB. Solo el +aplicación de consola es compatible con Linux. + +#### Iniciando GDB Agent + +###### Línea de comando + +Abra una terminal de comando y dirijase al directorio de instalación, una vez que lo haga, ejecute lo siguiente: + +```c +./bin/gdb\_agent\_console msp430.dat +``` + +La aplicación de consola abre un puerto TCP/IP en el equipo local (Figura \ref{Iniciando GDB Agent}). Muestra el número de puerto en la consola. Por defecto, este número de puerto es 55000. + +[^]: Es importante que deje abierta esta consola hasta terminar de depurar el programa (debugging) para poder conectar el GDB con el GDB Agent. + +```c +griscampos@griscampos-VirtualBox:~/msp430-gcc$ ./bin/gdb_agent_console msp430.dat +CPU Name Port +-------- ---- +msp430 :55000 + +Starting all cores +CPU Name Status +-------- ------ +msp430 Waiting for client + +``` +