xfreerdp 한영키
http://skylit.tistory.com/162
libfreerdp/locale/keyboard_xkbfile.c 수정후 리빌드
rc, 및 설정파일 원위치
vimrc = http://blog.lvu.kr/my-vimrc/
xfreerdp 한영키
http://skylit.tistory.com/162
libfreerdp/locale/keyboard_xkbfile.c 수정후 리빌드
rc, 및 설정파일 원위치
vimrc = http://blog.lvu.kr/my-vimrc/
DM00024550_STM8S003F3_Datasheet
PM0044_STM8 CPU programming manualpd
RM0016_STM8S_STM8A_Reference manual
알리에서 싸다고 몇개 구매했는데…. 지금 생각해보니 저렴하지 않은듯.. (2.5$)
회로도를 구하지 못했다.. J2를 쇼트시키면 PA3에 LED가 연결되어 있다
짜깁기 하여 IRQ로 UART 처리하는 코드
#include <string.h> #include "stm8s.h" // stm9l.h랑 다른거다, 다른부분 다 비슷한데 CLK 부분이 DS랑 좀 다르다... int uart_write(const char *str) { char i; for(i = 0; i < strlen(str); i++) { USART1_DR = str[i]; while(!(USART1_SR & USART_SR_TXE)); } return(i); // Bytes sent } unsigned char GetByte(void) { while (!(USART1_SR & USART_SR_RXNE)); return USART1_DR; } void PutByte(unsigned char Data) { USART1_DR = Data; while (!(USART1_SR & USART_SR_TXE)); } void USART_RX_ISR(void) __interrupt 18 { uart_write("GOT ST "); PutByte(GetByte()); uart_write("\r\n"); } int main() { int d; PA_DDR = 0x08; // PA3 PA_CR1 = 0x08; CLK_DIVR = 0x00; // Set the frequency to 16 MHz CLK_PCKENR1 = 0x08; // Enable UART1 USART1_CR2 = USART_CR2_TEN | USART_CR2_REN |USART_CR2_RIEN; // Allow TX & RX USART1_CR3 &= ~(USART_CR3_STOP1 | USART_CR3_STOP2); // 1 stop bit USART1_BRR2 = 0x03; USART1_BRR1 = 0x68; // 9600 baud __asm__("rim"); // Enable Interrupt while(1) { //PA_ODR ^= 0x08; for(d = 0; d < 29000; d++); //uart_write("Hello World!\r\n"); //PutByte(GetByte()); } }
TIM1_CH3에 PWM 출력샘플 (아 이거하느라고 되게 애먹었는데.. OISR에서 or 연산이 제대로 안되서 그랬던거같다….)
int main() { TIM1_ARRH = 0x0F; TIM1_ARRL = 0xFF; TIM1_PSCRH = 0x00; TIM1_PSCRL = 0x00; TIM1_CR1 = 0x00; TIM1_RCR = 0; TIM1_CCER2 = 0x0f; TIM1_CCMR3 = 0x70; TIM1_OISR = 0x7F; TIM1_CCR3H = 0x03; TIM1_CCR3L = 0xFF; TIM1_CR1 =0x01; TIM1_BKR = 0x80; while(1); return 0; }
사용한 Makefile
SDCC=sdcc SDLD=sdld OBJECTS=myStm8.ihx OBJECT=myStm8 .PHONY: all clean flash all: $(OBJECTS) clean: rm -f $(OBJECTS) flash: $(OBJECT).ihx stm8flash -cstlinkv2 -pstm8s003f3 -w $(OBJECT).ihx %.ihx: %.c $(SDCC) -lstm8 -mstm8 --out-fmt-ihx $(CFLAGS) $(LDFLAGS) $<
이왕 환경구성한거 몇개 더샀다
저렴하다(0.78$) 크리스탈이 없다(내부클럭 쓰나?…)
http://www.aliexpress.com/item/1pcs-lot-STM8S103F3P6-system-board-STM8S-STM8-development-board-minimum-core-board/32524292414.html
출처 : http://csg.lbl.gov/pipermail/vxwexplo/2003-March/000762.html
http://www.dfcgen.de/refcards/vxworks.pdf
자주쓰는건 볼드처리
agentModeShow( ) – show the agent mode (*) (WindSh)
b( ) – set or display breakpoints (WindSh)
bd( ) – delete a breakpoint (WindSh)
bdall( ) – delete all breakpoints (WindSh)
bh( ) – set a hardware breakpoint (WindSh)
bootChange( ) – change the boot line (WindSh)
browse( ) – send a message to the browser asking it to browse an
address (*) (WindSh)
c( ) – continue from a breakpoint (WindSh)
cd( ) – change the default directory (WindSh)
checkStack( ) – print a summary of each task’s stack usage (WindSh)
classShow( ) – show information about a class of objects (*) (WindSh)
cplusCtors( ) – call static constructors (C++) (WindSh)
cplusDtors( ) – call static destructors (C++) (WindSh)
cplusStratShow( ) – show C++ static constructors calling strategy (*)
(WindSh)
cplusXtorSet( ) – change C++ static constructor calling strategy (C++)
(WindSh)
cret( ) – continue until the current subroutine returns (WindSh)
d( ) – display memory (WindSh)
devs( ) – list all system-known devices (WindSh)
h( ) – display or set the size of shell history (WindSh)
help( ) – print a synopsis of selected routines (WindSh)
hostShow( ) – display the host table (WindSh)
i( ) – print a summary of each task’s TCB, task by task (WindSh)
iStrict( ) – print a summary of all task TCBs, as an atomic snapshot(*) (WindSh)
icmpstatShow( ) – display statistics for ICMP (WindSh)
ifShow( ) – display the attached network interfaces (WindSh)
inetstatShow( ) – display all active connections for Internet protocol
sockets (WindSh)
intVecShow( ) – display the interrupt vector table (WindSh)
iosDevShow( ) – display the list of devices in the system (WindSh)
iosDrvShow( ) – display a list of system drivers (WindSh)
iosFdShow( ) – display a list of file descriptor names in the system(WindSh)
ipstatShow( ) – display IP statistics (WindSh)
l( ) – disassemble and display a specified number of instructions(WindSh)
ld( ) – load an object module into memory (WindSh)
lkAddr( ) – list symbols whose values are near a specified value(WindSh)
lkup( ) – list symbols (WindSh)
ls( ) – list the contents of a directory (WindSh)
m( ) – modify memory (WindSh)
memPartShow( ) – show partition blocks and statistics (WindSh)
memShow( ) – show system memory partition blocks and statistics(WindSh)
moduleIdFigure( ) – figure out module ID, given name or number (*)(WindSh)
moduleShow( ) – show the current status for all the loaded modules(WindSh)
mqPxShow( ) – show information about a POSIX message queue (*)(WindSh)
mRegs( ) – modify registers (WindSh)
msgQShow( ) – show information about a message queue (WindSh)
period( ) – spawn a task to call a function periodically (WindSh)
printErrno( ) – print the definition of a specified error status value(WindSh)
printLogo( ) – display the Tornado logo (WindSh)
pwd( ) – display the current default directory (WindSh)
quit( ) – shut down WindSh (*) (WindSh)
reboot( ) – reset network devices and transfer control to boot ROMs(WindSh)
repeat( ) – spawn a task to call a function repeatedly (WindSh)
routestatShow( ) – display routing statistics (WindSh)
s( ) – single-step a task (WindSh)
semPxShow( ) – show information about a POSIX semaphore (*) (WindSh)
semShow( ) – show information about a semaphore (WindSh)
shellHistory( ) – display or set the size of shell history (WindSh)
shellPromptSet( ) – change the shell prompt (WindSh)
show( ) – display information on a specified object (WindSh)
smMemPartShow( ) – show user’s shared memory system partition blocks
and statistics (*) (WindSh)
smMemShow( ) – show the shared memory system partition blocks and
statistics (WindSh)
so( ) – single-step, but step over a subroutine (WindSh)
sp( ) – spawn a task with default parameters (WindSh)
sps( ) – spawn a task with default parameters, and leave it suspended(*) (WindSh)
sysResume( ) – reset the agent to tasking mode (*) (WindSh)
sysStatusShow( ) – show system context status (*) (WindSh)
sysSuspend( ) – set the agent to external mode and suspend the system(*) (WindSh)
taskCreateHookShow( ) – show the list of task create routines (WindSh)
taskDeleteHookShow( ) – show the list of task delete routines (WindSh)
taskIdDefault( ) – set the default task ID (WindSh)
taskIdFigure( ) – figure out the task ID of a specified task (*)(WindSh)
taskRegsShow( ) – display the contents of a task’s registers (WindSh)
taskShow( ) – display task information from TCBs (WindSh)
taskSwitchHookShow( ) – show the list of task switch routines (WindSh)
taskWaitShow( ) – show information about the object a task is pendedon (*) (WindSh)
tcpstatShow( ) – display all statistics for the TCP protocol (WindSh)
td( ) – delete a task (WindSh)
tftpInfoShow( ) – get TFTP status information (WindSh)
ti( ) – display complete information from a task’s TCB (WindSh)
tr( ) – resume a task (WindSh)
ts( ) – suspend a task (WindSh)
tt( ) – display a stack trace of a task (WindSh)
tw( ) – print info about the object the given task is pending on (*)(WindSh)
udpstatShow( ) – display statistics for the UDP protocol (WindSh)
unld( ) – unload an object module by specifying a file name or moduleID (WindSh)
version( ) – print VxWorks version information (WindSh)
w( ) – print a summary of each task’s pending information, task by
task (*) (WindSh)
wdShow( ) – show information about a watchdog (WindSh)
배우긴 했는데… 하도 헷갈려서 찾아보니 정리가 잘되있다
https://www.lucidchart.com/pages/uml-tutorial
지금 ChromeOS 복구 미디어를 만드려면 Chrome App을 설치해야된다…
예전에는 스크립트만 있으면 됫는데 싶어서 찾아보니 있다!!
https://dl.google.com/dl/edgedl/chromeos/recovery/linux_recovery.sh
설정파일
https://dl.google.com/dl/edgedl/chromeos/recovery/recovery.conf
내 크롬북에 맞는 이미지
https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_7834.70.0_x86-alex-he_recovery_stable-channel_alex-mp-v4.bin.zip
그냥 압축풀어다가 dd로 구우면된다