embeded2015. 12. 17. 16:36

대충 보면 어셈인줄 알았는데.. 스크립트라네...


[링크 : http://wiki.osdev.org/Linker_Scripts]


[링크 : http://www.scoberlin.de/content/media/http/informatik/gcc_docs/ld_3.html]

[링크 : http://korea.gnu.org/manual/release/ld/ld-mahajjh/ld_3.html]

'embeded' 카테고리의 다른 글

PCB 마킹 의미  (0) 2016.07.28
COM26T2844VTX 관련...  (0) 2016.03.16
시리얼 저항 / 직렬 저항 / 댐핑 저항  (0) 2015.12.17
microchip PIC  (0) 2015.09.08
9$ computer C.H.I.P?  (0) 2015.05.27
Posted by 구차니
embeded2015. 12. 17. 14:30

이게 다 같은 건가?


일단 이걸 쓰는 이유는

1. 전류제한

2. 임피던스 매칭으로 노이즈 제거

3. 전압변경(좋은 방법은 아니지만)

등등등...


[링크 : http://programfrall.tistory.com/43]

[링크 : http://pcbee.tistory.com/entry/직렬series-저항-값에-대한-고찰]

[링크 : http://blog.naver.com/rlaghlfh/110127337569] 댐핑 저항

[링크 : http://www.solvline.com/technical_info/tech_note_view.php?no=24] 종단 저항(terminator)

'embeded' 카테고리의 다른 글

COM26T2844VTX 관련...  (0) 2016.03.16
링커 스크립트 문법(ld syntax)  (0) 2015.12.17
microchip PIC  (0) 2015.09.08
9$ computer C.H.I.P?  (0) 2015.05.27
PowerQUICC  (0) 2015.04.02
Posted by 구차니
embeded/ARM2015. 12. 17. 13:44

흐음...


pull up/down 저항이 낮아서 문제가 되려나?

[링크 : http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/348680/1220668]

[링크 : http://www.alteraforum.com/forum/archive/index.php/t-32059.html]



JTAG ModeSWD ModeSignalRequired pull-up / pull-down (if not implemented internally by MCU)
TCKSWCLKClock into the coreUse 10K-100K Ohm pull-down resistor to GND
TDI-JTAG Test Data InputUse 10K-100K Ohm pull-up resistor to VCC
TDOSWVJTAG Test Data Output / SWV trace data output (SWO)Use 10K-100K Ohm pull-up resistor to VCC
TMSSWDIOJTAG Test Mode Select / SWD data in/outUse 10K-100K Ohm pull-up resistor to VCC
GNDGND--

[링크 : https://www.lpcware.com/content/faq/lpcxpresso/debug-design]

[링크 : http://www.support.code-red-tech.com/CodeRedWiki/HardwareDebugConnections] 조만간 폭파


SignalConnects to...
TMSTest Mode State pin — Use 100K Ohm pull-up resistor to VCC.
TDOTest Data Out pin.
RTCKJTAG Return Test ClocK. (see Note below)
TDITest Data In pin — Use 100K Ohm pull-up resistor to VCC.
TRSTTest ReSeT/ pin — Use 100K Ohm pull-up resistor to VCC. TRST is optional and not available on some devices. You may leave it unconnected.
TCLKTest CLocK pin — Use 100K Ohm pull-down resistor to GND.
VCCPositive Supply Voltage — Power supply for JTAG interface drivers.
GNDDigital ground.
RESETRSTIN/ pin — Connect this pin to the (active low) reset input of the target CPU.
CPUCLKCPU clock (according IEEE Standard 1149.1).
OCDSEEnable/Disable OCDS interface (Infineon-specific).
TRAPTrap condition (Infineon-specific).
BRKINHardware break in (Infineon-specific).
BRKOUTHardware break out (Infineon-specific).
/JENJTAG Enable (STMicroelectronics specific).
TSTATJTAG ISP Status (STMicroelectronics specific) (optional).
/RSTChip reset (STMicroelectronics specific).
/TERRJTAG ISP Error (STMicroelectronics specific) (optional).

[링크 : http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm]

[링크 : http://forum.falinux.com/zbxe/?document_srl=796669...]

'embeded > ARM' 카테고리의 다른 글

ulink flashmagic  (0) 2016.09.02
armada 370 - ARMv7 인데 neon이 없네?  (0) 2015.12.30
jtag과 swd  (0) 2015.12.14
비글본 github 저장소  (0) 2015.10.30
arm9 dsp / arm11 simd instuction 비교?  (0) 2015.10.01
Posted by 구차니
embeded/freeRTOS2015. 12. 16. 16:25

음.. 소스 레벨에서는 역시 무리이고..

돌려보고 최대로 먹는거 보면서 분할을 해줘야 하려나?


[링크 : http://www.freertos.org/FAQMem.html]

[링크 : http://www.microchip.com/forums/m590414.aspx]

    [링크 : http://sourceforge.net/p/freertos/discussion/382005/thread/33791e60/]

    [링크 : http://www.freertos.org/uxTaskGetStackHighWaterMark.html]

    [링크 : http://www.freertos.org/Stacks-and-stack-overflow-checking.html]

[링크 : http://www.freertos.org/a00111.html]

'embeded > freeRTOS' 카테고리의 다른 글

esp32 freertos  (0) 2023.12.08
stm32 freertos  (0) 2023.12.08
lm3s811 freeRTOS ADC...  (0) 2015.11.16
freertos 자료  (0) 2015.11.12
freeRTOS 패키지?  (0) 2015.11.11
Posted by 구차니

‘warning: jobserver unavailable: using -j1. Add `+' to parent make rule.’


In order for make processes to communicate, the parent will pass information to the child. Since this could result in problems if the child process isn’t actually a make, the parent will only do this if it thinks the child is a make. The parent uses the normal algorithms to determine this (see How the MAKE Variable Works). If the makefile is constructed such that the parent doesn’t know the child is a make process, then the child will receive only part of the information necessary. In this case, the child will generate this warning message and proceed with its build in a sequential manner.


make 프로세스가 통신을 하기 위해서, 부모는 자식에게 정보를 넘겨줄 것이다. 자식 프로세스가 실제로 make를 하지 못하는 문제가 발생하기 전까지, 부모는 자식이 make를 진행 중이라고 생각을 할 것이다. 부모는 이것을 결정하기 위한 일반적인 알고리즘을 사용한다(How the MAKE Variable Works를 볼 것). 만약 makefile이 부모가 자식이 make 프로세스란걸 알지 못 하는 것과 같은 구조로 짜여있을 경우, 자식은 필요한 정보의 일부분만 받게 될 것이다. 이경우, 자식은 이 경고 메시지를 생성하고 자신의 빌드를 순차적인 방법으로 진행할 것이다.


[링크 : https://www.gnu.org/software/make/manual/html_node/Error-Messages.html]


Recursive make commands should always use the variable MAKE, not the explicit command name ‘make’, as shown here:


subsystem:

        cd subdir && $(MAKE)

[링크 : https://www.gnu.org/software/make/manual/html_node/MAKE-Variable.html#MAKE-Variable]



한줄 요약하자면..

병렬 구조로 안짜여졌으니 병렬로 안하겠어! 라는 의미


해결책은..

make -c ... 

이런거 대신

$(MAKE) -c ...

이런식으로 MAKE 변수를 써라.. 인가?



+

Only certain flags go into $(MAKEFLAGS).  -j isn't included because the sub-makes communicate with each other to ensure the appropriate number of jobs are occuring


Also, you should use $(MAKE) instead of make, since $(MAKE) will always evaluate to the correct executable name (which might not be make).

[링크 : http://stackoverflow.com/questions/9147196/makefile-pass-jobs-param-to-sub-makefiles]



The ‘-j’ option is a special case (see Parallel Execution). If you set it to some numeric value ‘N’ and your operating system supports it (most any UNIX system will; others typically won’t), the parent make and all the sub-makes will communicate to ensure that there are only ‘N’ jobs running at the same time between them all. Note that any job that is marked recursive (see Instead of Executing Recipes) doesn’t count against the total jobs (otherwise we could get ‘N’ sub-makes running and have no slots left over for any real work!)


If your operating system doesn’t support the above communication, then ‘-j 1’ is always put into MAKEFLAGS instead of the value you specified. This is because if the ‘-j’ option were passed down to sub-makes, you would get many more jobs running in parallel than you asked for. If you give ‘-j’ with no numeric argument, meaning to run as many jobs as possible in parallel, this is passed down, since multiple infinities are no more than one.


If you do not want to pass the other flags down, you must change the value of MAKEFLAGS, like this:


subsystem:

        cd subdir && $(MAKE) MAKEFLAGS=

The command line variable definitions really appear in the variable MAKEOVERRIDES, and MAKEFLAGS contains a reference to this variable. If you do want to pass flags down normally, but don’t want to pass down the command line variable definitions, you can reset MAKEOVERRIDES to empty, like this:


MAKEOVERRIDES =

This is not usually useful to do. However, some systems have a small fixed limit on the size of the environment, and putting so much information into the value of MAKEFLAGS can exceed it. If you see the error message ‘Arg list too long’, this may be the problem. (For strict compliance with POSIX.2, changing MAKEOVERRIDES does not affect MAKEFLAGS if the special target ‘.POSIX’ appears in the makefile. You probably do not care about this.)


A similar variable MFLAGS exists also, for historical compatibility. It has the same value as MAKEFLAGS except that it does not contain the command line variable definitions, and it always begins with a hyphen unless it is empty (MAKEFLAGS begins with a hyphen only when it begins with an option that has no single-letter version, such as ‘--warn-undefined-variables’). MFLAGS was traditionally used explicitly in the recursive make command, like this:


subsystem:

        cd subdir && $(MAKE) $(MFLAGS)

but now MAKEFLAGS makes this usage redundant. If you want your makefiles to be compatible with old make programs, use this technique; it will work fine with more modern make versions too.


[링크 : https://www.gnu.org/.../html_node/Options_002fRecursion.html#Options_002fRecursion]



'프로그램 사용 > make, configure' 카테고리의 다른 글

make 의존성 파일?  (0) 2015.12.18
make 암시적 룰  (0) 2015.12.18
make 아카이브  (0) 2015.12.14
make 매크로  (0) 2015.12.14
make -j -l  (0) 2015.11.30
Posted by 구차니
게임/FEZ2015. 12. 15. 19:54

으아아아아아!!! 드럽게 어렵다!!!! ㅠㅠ

공략을 봐도 모르겠네... ㅠㅠ






[링크 : http://www.xblafans.com/fez-complete-cube-guide-45383.html]

'게임 > FEZ' 카테고리의 다른 글

fez 1회차 끝  (0) 2015.12.20
fez 80.1%...  (0) 2015.12.13
오늘의 FEZ 70.3%  (0) 2015.12.06
FEZ - 약.. 40%? -> 52.7%  (0) 2015.11.29
FEZ  (0) 2015.11.08
Posted by 구차니


archive(member)


foolib(hack.o) : hack.o

        ar cr foolib hack.o



[링크 : http://www.viper.pe.kr/docs/make-ko/make-ko_11.html#SEC104]

[링크 : https://www.gnu.org/software/make/manual/html_node/Archives.html]


c

Create the archive.


r

Insert the files member... into archive (with replacement).


[링크 : http://linux.die.net/man/1/ar]

[링크 : ]

[링크 : ]

[링크 : ]

'프로그램 사용 > make, configure' 카테고리의 다른 글

make 암시적 룰  (0) 2015.12.18
make jobserver unavailable  (0) 2015.12.16
make 매크로  (0) 2015.12.14
make -j -l  (0) 2015.11.30
makefile 병렬 대비하기  (0) 2015.11.30
Posted by 구차니


$* <- 확장자가 없는 현재의 목표 파일(Target)

$@ <- 현재의 목표 파일(Target)

$< <- 현재의 목표 파일(Target)보다 더 최근에 갱신된 파일 이름

$? <- 현재의 목표 파일(Target)보다 더 최근에 갱신된 파일이름


[링크 : https://wiki.kldp.org/KoreanDoc/html/GNU-Make/GNU-Make-3.html]


$@

규칙에 있는 타겟의 파일 이름. 타겟이 아카이브 멤버이면 `$@'는 아카이브 파일의 이름이다. 여러개의 타겟들(see section 패턴 규칙에 대한 소개(Introduction to Pattern Rules))을 가지고 있는 패턴 규칙에서 `$@'는 규칙의 명령이 실행되도록 만든 타겟이면 무엇이든 이 타겟의 이름이 된다.

$%

타겟이 아카이브 멤버(See section 아카이브 파일을 갱신하기 위해서 make 사용하기(Using make to Update Archive Files))일 때, 타겟 멤버 이름. 예를 들어서 타겟이 `foo.a(bar.o)'이면 `$%'는 `bar.o'이고 `$@'는 `foo.a'이다. 타겟이 아카이브 멤버가 아니면 `$%'는 빈 것이 된다.

$<

첫번째 종속물의 이름. 타겟이 묵시적 규칙으로부터 그의 명령들을 얻었다면 이것은 묵시적 규칙에 의해서 추가된 첫번째 종속물이 될 것이다 (see section 묵시적 규칙(Using Implicit Rules)).

$?

타겟보다 더 새로운 모든 종속물들의 이름들. 이들 사이에는 스페이스들이 들어간다. 아카이브 멤버들인 종속물들에 대해서 이름이 있는 멤버만이 사용된다 (see section 아카이브 파일을 갱신하기 위해서 make 사용하기(Using make to Update Archive Files)).

$^

모든 종속물들의 이름. 이들 사이에는 스페이스들이 들어간다. 아카이브 멤버인 종속물들에 대해서 이름있는(지정된?) 멤버만이 사용된다 (see section 아카이브 파일을 갱신하기 위해서 make 사용하기(Using make to Update Archive Files)). 타겟은 이것이 의존하는 다른 각 파일들에 대해서 각 파일이 종속물 리스트에서 몇번이나 나왔는가에 상관없이, 딱 한번만 사용한다. 그래서 어떤 타겟을 위해서 한번 이상 종속물을 사용한다면 $^ 의 값은 그 이름을 딱 한번 담고 있는 형태가 된다.

$+

이것은 `$^' 와 비슷하다. 그러나 종속물들이 makefile 에서 리스트된 순서와 나타난 대로 중복되었다고 해도 한번 이상 리스트된다. 이것은 특별한 순서로 라이브러리 파일 이름들을 반복하는 것이 의미가 있는 링크 명령들 안에서 주로 유용하다.

$*

묵시적 규칙이 일치하는 (see section 패턴 비교 방법(How Patterns Match)) 대상 줄기(stem). 타겟이 `dir/a.foo.b' 이고 타겟 패턴이 `a.%.b' 이라면 줄기는 `dir/foo' 이다. 줄기는 관련된 파일들의 이름을 만들때 유용하다. 정적 패턴 규칙에서 줄기는 타겟 패턴에서 `%' 과 일치한, 파일 이름의 일부분을 말한다. 명시적 규칙에서는 줄기가 없다; 그래서 `$*' 는 그런식으로 결정될 수 없다. 대신에 타겟 이름이 인식된 접미사로 끝난다면 (see section 구닥다리 접미사 규칙(Old-Fashioned Suffix Rules)), `$*' 는 타겟 이름 빼기 접미사로 설정된다. 예를 들어서, 타겟 이름이 `foo.c' 이라면, `$*' 는 `foo' 로 설정된다, 왜냐면 `.c' 가 접미사이기 때문이다. GNU make 는 다른 make 구현물과의 호환성을 위해서만 이런 괴기스런 일을 한다. 일반적으로 묵시적 규칙들이나 정적 패턴 규칙들을 제외하고는 `$*' 를 쓰지 않도록 해야 할 것이다. 명시적 규칙 안의 타겟 이름이 인식된 접미사로 끝나지 않는다면 `$*' 는 그 규칙에 대해서 빈 문자열로 설정된다.

[링크 : http://korea.gnu.org/manual/4check/make-3.77/ko/make_10.html#SEC97]



.PHONY는 지원하지 않는 버전도 있음

 .PHONY: clean

clean:

        rm *.o temp


clean: FORCE

        rm $(objects)

FORCE: 


[링크 : http://pinocc.tistory.com/131]

'프로그램 사용 > make, configure' 카테고리의 다른 글

make jobserver unavailable  (0) 2015.12.16
make 아카이브  (0) 2015.12.14
make -j -l  (0) 2015.11.30
makefile 병렬 대비하기  (0) 2015.11.30
make burn 0.0.0 ???  (0) 2014.11.11
Posted by 구차니
embeded/openRISC2015. 12. 14. 13:47

걍 포기할까...

LD_LIBRARY_PATH 잘못설정하면 절대 좋은꼴을 못보는데... ㄷㄷㄷ


./as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

$ sudo apt-get install zlib1g:i386

$ sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

[링크 : http://stackoverflow.com/questions/21256866/libz-so-1-cannot-open-shared-object-file]



/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory


export LD_LIBRARY_PATH="/usr/local/lib" sudo ldconfig


[링크 : http://stackoverflow.com/.../cc1-error-while-loading-shared-libraries-libmpc-so-2-...c]



$ sudo find / -name "libmpc.so.*"

/usr/lib/x86_64-linux-gnu/libmpc.so.2.0.0

/usr/lib/x86_64-linux-gnu/libmpc.so.2


$ sudo apt-cache search libmpc

libmpc-dev - multiple precision complex floating-point library development package

libmpc2 - multiple precision complex floating-point library

libmpcdec-dev - MusePack decoder - development files

libmpcdec6 - MusePack decoder - library

mppenc - Musepack lossy audio codec encoder


이거.. 볼수록 잘못 건드리면 헬게이트 열릴 기분인데?



as: error while loading shared libraries: libopcodes-2.23.51.20121129.so: cannot open shared object file: No such file or directory

미친척 or1k껄로 했더니 여전히 헬게이트.. 걍 포기


'embeded > openRISC' 카테고리의 다른 글

openRISC on FPGA  (0) 2018.01.29
openRISC OR1k(1000) OR1200  (0) 2015.12.11
openrisc 어셈블리  (0) 2015.12.10
openRISC chaintool  (0) 2015.11.27
Posted by 구차니
embeded/ARM2015. 12. 14. 10:30

음.. JTAG없이 SWD만으로 하는데

SWD로 안되면.. 머가 문제일려나..

TCK/TMS 인식인가..?


How do I switch the debugger connection between JTAG and SWD (Serial Wire Debug) protocol?

Applies to: Debug Access Port (DAP)

Answer

The SWJ-DP component supports both protocols - Serial Wire and JTAG. The selector is part of the SWJ-DP.

The default protocol at power-up is JTAG, so if you want to use Serial Wire, you need to use the TCK and TMS pins to scan in a special 'key', which is a sequence of TMS values which has no effect for a pure JTAG TAP but is recognized by a SWJ-DP TAP as a request to switch into Serial Wire mode. Similarly, there is another another TMS sequence to switch back from SWD to JTAG protocol.


[링크 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka11775.html]

'embeded > ARM' 카테고리의 다른 글

armada 370 - ARMv7 인데 neon이 없네?  (0) 2015.12.30
jtag/swd pullup & pulldown  (0) 2015.12.17
비글본 github 저장소  (0) 2015.10.30
arm9 dsp / arm11 simd instuction 비교?  (0) 2015.10.01
arm11 simd instruction  (0) 2015.10.01
Posted by 구차니