Unbuntu 10.04 64bits에 Octave 설치에 대하여 설명한다. 


Configuration  :

sudo apt-get install f2c gfortran libblas-dev liblapack-dev

sudo apt-get install libpcre3-dev libreadline-dev


Download :

http://www.gnu.org/software/octave/

$ wget ftp://ftp.gnu.org/gnu/octave/octave-3.8.1.tar.bz2


Extract & Build :

$ tar -xvjf octave-3.8.1.tar.bz2

$ cd octave-3.8.1

$ ./configure --with-curl --prefix=/home/steo/octave

$ make

$ sudo make install


Install Control Package

download octave package

http://octave.sourceforge.net/packages.php


$ cp control-2.6.5.tar.gz /home/steo/octave/bin

$ ./octave


octave:1> pkg install -global -auto control-2.6.5.tar.gz



Wiki :

http://wiki.octave.org/Octave_for_GNU/Linux


참 고 :

http://askubuntu.com/questions/138832/how-to-install-the-latest-octave

http://dogmas.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%9A%A9-Octave-%EC%84%A4%EC%B9%98%EB%B0%A9%EB%B2%95%EA%B3%BC-notepad%EC%9D%98-%EC%9D%B4%EC%9A%A9%EB%B0%A9%EB%B2%95

http://octave.1599824.n4.nabble.com/Installation-of-control-pkg-fails-with-octave-3-7-2-td4651001.html

http://octave.sourceforge.net/




'[Z-01] 참고 ' 카테고리의 다른 글

EDID란?  (0) 2012.12.21
VirtualBox에서 USB로 부팅하기  (0) 2012.12.04
[Site] NotePad ++  (0) 2011.11.24
[Site] pdf 암호제거 tool  (0) 2011.11.07
[site] JEDEC (DDR2, DDR3 Standard 문서를 얻을 수 있는 곳)  (0) 2011.10.14
Posted by eoseontaek
2012. 12. 21. 11:51

EDID(Extended Display Identification Data)란 모니터 정보 Data를 의미합니다.
포함정보는 판매자/생산자 id 및 기본 디스플레이 변수 및 특성등을 정의합니다.
정보는 Monitor 생산시 내부 Micom에 기록되어 일반 User가 PC를 켜면 PC와
통신을 주고 받아 "나는 이런 Spec의 Monitor야" 라는 것을 PC에 알려 주게 되어
Plug and Play가 가능하게 합니다.

1 Summary
The Extended Display Identification Data (EDID)는 선택적인 변수와
구조형식(Format)에 관하여 설명이 되어 있으며, 디스플레이의 인식(認識)과
역량(役糧) 정보를 Host(PC)에게 전달함.

2 Background
초기 모니터 식별 설계는 제한된 모니터의 종류와 변수를 처리하는 능력만이 있었기 때문에 Display 의 능력에 관련한 정보를 다루지 않아 유용성이
부족하였다.

3 Standard Objectives
EDID 발전은 정확한 기준으로 VESA에 의하여 보완 및 Update 되어진다.
이 기준은 아래의 Standard의 목표를 따른다.

Standard 목표
● Microsoft의 Plug and Play 를 정의한다.
● System에 부착되어지는 모니터의 역량을 기본으로, 구성되어 지는
Graphic Sub-System(VGA)에 간결한 형식의 정보를 제공한다.
(DDC를 이용한 EDID 를 전송한다 )

4 Revision history
EDID Version1.0 Revision 0 August 12, 1994 ; VEA DDC Standard안에
EDID가 통합되어 있음.
EDID Version2.0 Revision 0 April 9, 1996 ; VEA DDC Standard에서
분리가 되면서, 1.0으로 명시됨.
EDID Version2.0 Revision 1 July 24, 1996 ; Appendix B 추가,
EISA ID Codes 변경,

참고로 위에서 언급됨 DDC(Data Display Channle)란 Host Computer와
주변기기가 서로 통신하는 통신방법을 의미합니다.
모니터가 DDC 기능을 가진다는 것은 통신 Protocol(약속)에 따라 데이터를
주고 받을 수 있다는 것을 의미함.
→ 모니터가 자신의 정보를 PC에 제공하면 Plug and Play 가능

* 즉, PC가 부팅할때 Monitor의 EDID정보(Monitor의 표현 가능
해상도, 수평,수직 주파수등)가 PC에 넘어가기 때문에(DDC를 통해)
User가 일일이 Monitor정보를 몰라도 Monitor의 Display를 용이하게
해줍니다.

참 고 :

http://pureumlnt.com/shop/board/view.php?id=videostudy&no=11

 

 

'[Z-01] 참고 ' 카테고리의 다른 글

[UTIL] OCTAVE (GNU MatLab)  (0) 2014.07.15
VirtualBox에서 USB로 부팅하기  (0) 2012.12.04
[Site] NotePad ++  (0) 2011.11.24
[Site] pdf 암호제거 tool  (0) 2011.11.07
[site] JEDEC (DDR2, DDR3 Standard 문서를 얻을 수 있는 곳)  (0) 2011.10.14
Posted by eoseontaek

 

Step 1. USB 가상 하드이미지 생성

VirtualBox에서 USB로 직접 부팅하는 것을 지원하지 않음.

USB 드라이브 자체를 가상하드 이미지로 만들어 virtualbox 하드디스크 설정에서 선택하면 USB로 부팅 가능

우선, 디스크 번호를 확인한다.

제어판 -> 관리도구 -> 컴퓨터 관리 -> 디스크 관리

 

디스크 1 이 이동식 USB 드라이브이다.

cmd (명령프롬프트)를 실행하고 C:\Program Files\Oracle\VirtualBox 로 이동.

아래의 명령 입력하여 vmdk 파일을 생성한다.

C:\Program Files\Oracle\VirtualBox> VBoxManage internalcommands createrawvmdk -filename E:\VirtualBox\Fedora10_Server\Fedora10_Server.vmdk -rawdisk \\.\PhysicalDrive1

 

 

-filename : E:/VirtualBox\Fedora10_Server\Fedora10_Server.vmdk

-rawdisk : \\.\PhysicalDrive1

 

Step 2. 하드디스크 설정

 생성된  vmdk 파일을 VirtualBox 하드디스크 설정에 적용해준다.

시작...

 

참 고

http://searchme.tistory.com/3

 

 

'[Z-01] 참고 ' 카테고리의 다른 글

[UTIL] OCTAVE (GNU MatLab)  (0) 2014.07.15
EDID란?  (0) 2012.12.21
[Site] NotePad ++  (0) 2011.11.24
[Site] pdf 암호제거 tool  (0) 2011.11.07
[site] JEDEC (DDR2, DDR3 Standard 문서를 얻을 수 있는 곳)  (0) 2011.10.14
Posted by eoseontaek
2011. 11. 24. 16:06

'[Z-01] 참고 ' 카테고리의 다른 글

EDID란?  (0) 2012.12.21
VirtualBox에서 USB로 부팅하기  (0) 2012.12.04
[Site] pdf 암호제거 tool  (0) 2011.11.07
[site] JEDEC (DDR2, DDR3 Standard 문서를 얻을 수 있는 곳)  (0) 2011.10.14
[Glossary] Segmentation fault  (0) 2011.06.15
Posted by eoseontaek
Posted by eoseontaek

'[Z-01] 참고 ' 카테고리의 다른 글

[Site] NotePad ++  (0) 2011.11.24
[Site] pdf 암호제거 tool  (0) 2011.11.07
[Glossary] Segmentation fault  (0) 2011.06.15
[site] Duplicate IP and MAC address ARP patch  (0) 2011.05.04
윈7에서 Administrator 계정 사용 방법  (0) 2011.04.21
Posted by eoseontaek

A segmentation fault (often shortened to segfault) or bus error is generally an attempt to access memory that the CPU cannot physically address. It occurs when the hardware notifies a Unix-like operating system about a memory access violation. Then the OS kernel sends a signal to the process which caused the exception. By default the process receiving the signal dumps core and terminates. The default signal handler can also be overridden to customize how the signal is handled.[1]

Contents

[hide]

[edit] Bus error

Bus errors usually are signaled with the SIGBUS signal, but SIGBUS can also be caused by any general device fault that the computer detects. A bus error rarely means that the computer hardware is physically broken - it is normally caused by a bug in a program's source code.

There are two main causes of bus errors:

non-existent address 
The CPU is instructed by software to read or write a specific physical memory address. Accordingly, the CPU sets this physical address on its address bus and requests all other hardware connected to the CPU to respond with the results, if they answer for this specific address. If no other hardware responds, the CPU raises an exception, stating that the requested physical address is unrecognized by the whole computer system. Note that this only covers physical memory addresses. Trying to access an undefined virtual memory address is generally considered to be a segmentation fault rather than a bus error, though if the MMU is separate, the processor can't tell the difference.
unaligned access 
Most CPUs are byte-addressable, where each unique memory address refers to an 8-bit byte. Most CPUs can access individual bytes from each memory address, but they generally cannot access larger units (16 bits, 32 bits, 64 bits and so on) without these units being "aligned" to a specific boundary. For example, if multi-byte accesses must be 16 bit-aligned, addresses 0, 2, 4, and so on would be considered aligned and therefore accessible, while addresses 1, 3, 5, and so on would be considered unaligned. Similarly, if multi-byte accesses must be 32-bit aligned, addresses 0, 4, 8, 12, and so on would be considered aligned and therefore accessible, and all addresses in between would be considered unaligned. Attempting to access a unit larger than a byte at an unaligned address can cause a bus error.

CPUs generally access data at the full width of their data bus at all times. To address bytes, they access memory at the full width of their data bus, then mask and shift to address the individual byte. This is inefficient, but tolerated as it is an essential feature for most software, especially string processing. Unlike bytes, larger units can span two aligned addresses and would thus require more than one fetch on the data bus. It is possible for CPUs to support this, but this functionality is rarely required directly at the machine code level, thus CPU designers normally avoid implementing it and instead issue bus errors for unaligned memory access.

[edit] Segmentation/Page fault

Example of human generated signal

A segmentation fault occurs when a program attempts to access a memory location that it is not allowed to access, or attempts to access a memory location in a way that is not allowed (for example, attempting to write to a read-only location, or to overwrite part of the operating system).

Segmentation is one approach to memory management and protection in the operating system. It has been superseded by paging for most purposes, but much of the terminology of segmentation is still used, "segmentation fault" being an example. Some operating systems still have segmentation at some logical level although paging is used as the main memory management policy.

On Unix-like operating systems, a signal called SIGSEGV is sent to a process that accesses an invalid memory address. On Microsoft Windows, a process that accesses invalid memory receives the STATUS_ACCESS_VIOLATION exception.

[edit] Common causes

A few causes of a segmentation fault can be summarized as follows:

  • attempting to execute a program that does not compile correctly. Note that most compilers will not output a binary given a compile-time error.
  • a buffer overflow.
  • using uninitialized pointers.
  • dereferencing NULL pointers.
  • attempting to access memory the program does not own.
  • attempting to alter memory the program does not own (storage violation).

Generally, segmentation faults occur because: a pointer is either NULL, points to random memory (probably never initialized to anything), or points to memory that has been freed/deallocated/"deleted".

e.g.

    char *p1 = NULL;           // Initialized to null, which is OK,
// (but cannot be dereferenced on many systems).
char *p2; // Not initialized at all.
char *p3 = new char[20]; // Great! it's allocated,
delete [] p3; // but now it isn't anymore.

Now, dereferencing any of these variables could cause a segmentation fault.

[edit] Examples

[edit] Bus error example

This is an example of un-aligned memory access, written in the C programming language.

#include <stdlib.h>

int main(int argc, char **argv) {
int *iptr;
char *cptr;

#if defined(__GNUC__)
# if defined(__i386__)
/* Enable Alignment Checking on x86 */
__asm__("pushf\norl $0x40000,(%esp)\npopf");
# elif defined(__x86_64__)
/* Enable Alignment Checking on x86_64 */
__asm__("pushf\norl $0x40000,(%rsp)\npopf");
# endif
#endif

/* malloc() always provides aligned memory */
cptr = malloc(sizeof(int) + 1);

/* Increment the pointer by one, making it misaligned */
iptr = (int *) ++cptr;

/* Dereference it as an int pointer, causing an unaligned access */
*iptr = 42;

return 0;
}

Compiling and running the example on Linux on x86 demonstrates the error:

$ gcc -ansi sigbus.c -o sigbus
$ ./sigbus
Bus error
$ gdb ./sigbus
(gdb) r
Program received signal SIGBUS, Bus error.
0x080483ba in main ()
(gdb) x/i $pc
0x80483ba <main+54>: mov DWORD PTR [eax],0x2a
(gdb) p/x $eax
$1 = 0x804a009
(gdb) p/t $eax & (sizeof(int) - 1)
$2 = 1

The GDB debugger shows that the immediate value 0x2a is being stored at the location stored in the EAX register, using X86 assembly language. This is an example of register indirect addressing.

Printing the low order bits of the address shows that it is not aligned to a word boundary ("dword" using x86 terminology).

[edit] Segmentation fault example

Here is an example of ANSI C code that should create a segmentation fault on platforms with memory protection:

 int main(void)
{
char *s = "hello world";
*s = 'H';
}

When the program containing this code is compiled, the string "hello world" is placed in the section of the program binary marked as read-only; when loaded, the operating system places it with other strings and constant data in a read-only segment of memory. When executed, a variable, s, is set to point to the string's location, and an attempt is made to write an H character through the variable into the memory, causing a segmentation fault. Compiling such a program with a compiler that does not check for the assignment of read-only locations at compile time, and running it on a Unix-like operating system produces the following runtime error:

$ gcc segfault.c -g -o segfault
$ ./segfault
Segmentation fault

Backtrace from gdb:

Program received signal SIGSEGV, Segmentation fault.
0x1c0005c2 in main () at segfault.c:6
6 *s = 'H';

The conditions under which segmentation violations occur and how they manifest themselves are specific to an operating system.

Because a very common program error is a null pointer dereference (a read or write through a null pointer, used in C to mean "pointer to no object" and as an error indicator), most operating systems map the null pointer's address such that accessing it causes a segmentation fault.

 int *ptr = NULL;
*ptr = 1;

This sample code creates a null pointer, and tries to assign a value to its non-existent target. Doing so causes a segmentation fault at runtime on many operating systems.

Another example is recursion without a base case:

 int main(void)
{
main();
}

which causes the stack to overflow which results in a segmentation fault.[2]

[edit] See also

[edit] External links

[edit] References

  1. ^ Expert C programming: deep C secrets By Peter Van der Linden, page 188
  2. ^ What is the difference between a segmentation fault and a stack overflow? at Stack Overflow


Link :
http://en.wikipedia.org/wiki/Segmentation_fault

Posted by eoseontaek
IP and MAC address conflict에 대한 patch를 얻을 수 있는 곳

http://marc.merlins.org/linux/arppatch/
Posted by eoseontaek

관리자 권한으로 cmd.exe를 실행 후 아래 명령어 실행하면 됩니다.

net user administrator /active:yes

 

administrator로 로그인시 모든 명령들이 관리자 권한으로 실행됩니다.


Posted by eoseontaek

1. 아래의 링크에서 Putty, Plink, Pageant, Puttygen을 받습니다.
   나중에 서버에서 생성된 파일을 얻기 위해 WinSCP도 받는게 좋더군요.
  
Putty Family: http://www.chiark.greenend.org.uk/~sgtatham/putty/
WinSCP : http://winscp.net/eng/download.php

2. 자, 이제 Public Key와 Private Key를 생성합니다.
   Putty를 이용하여 서버에서 아래의 명령어를 칩니다.
   암호라고 되어 있는 부분에 자신이 사용할 암호를 적습니다.



   이 암호는 아래의 단계들에서 계속 사용하므로 잘 기억하고 있는게 좋습니다.

ssh-keygen -b 1024 -t dsa -N 암호 -f keyfile

3. ls 명령으로 keyfile(개인 키)과 keyfile.pub(공개 키)가 만들어 진 것을 확인 합니다.

4. 자신의 폴더(~)에 .ssh 라는 폴더가 없으면 만들고, 여기에 keyfile.pub을 authorized_keys라는 파일명으로 저장합니다.

cd ~
mkdir .ssh
cat keyfile.pub >> /home/당신/.ssh/authorized_keys


5. 이제 TortoiseSVN을 사용할 로컬(Windows PC)로 이동해서 개인키를 등록합니다.
   WinSCP를 이용해서 서버에 있는 개인키(keyfile)를 로컬로 이동시킨 다음,
   PuttyGen을 실행해서 Conversions -> Import Key를 실행하고, keyfile을 넣은 다음
   Save Private key를 실행해서 keyfile.ppk로 저장합니다.
  
6. Pageant를 실행한 다음, Add keys를 선택하고 keyfile.ppk를 넣어줘야 합니다.

7. 이제 TortoiseSVN 으로 접속하면, 로긴 창이 뜨지도 않고 로긴 됩니다!
   단, 접속할 때 svn+ssh://당신아이디@URL 식으로 //와 @사이에 넣어줘야
   ID를 안 물어봅니다. 만약 이 작업을 하지 않으면, 아이디만 3번 물어보더군요.


TortoiseSVN에서 ssh+svn 사용 방법

http://vrzin.blogspot.com/2010/01/tortoisesvn%EC%97%90%EC%84%9C-sshsvn-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95.html


SFTP 클라이언트 : WinSCP 사용법

http://m9.pe.kr/sftp/index.htm


TortoiseSVN 설정

윈도우 탐색기의 아무 곳에서나 오른쪽 클릭하고 "TortoiseSVN"->"Settings(설정)"을 선택합니다.
"Network"탭에서 "SSH"설정을 바꿔줘야 원하는 계정으로 svn+ssh를 사용할 수 있습니다.
(요기서 엄청난 삽질을 했습니다.. 뭘 어떻게 해도 "Connection closed unexpectedly"만 메세지만 잔뜩.. ㅠㅁㅠ)
"SSH"항목에 다음과 같은 내용을 자신의 환경에 맞도록 입력합니다.
"D:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l 계정 -pw 암호
-pw 암호 옵션은 안 줄 경우 매번 접속시 입력해야 합니다.
그리고 계정과 암호는 반드시 subversion이 설치된 리눅스 머신에 있는 계정이어야 합니다.
사실 svn+ssh라는 것이 ssh로 터널링하는 것이라 ssh로 접속할 수 있는 계정이라고 하는 것이 맞을 것같습니다.

http://liverpooh.tistory.com/3


Posted by eoseontaek
Posted by eoseontaek

'[Z-01] 참고 ' 카테고리의 다른 글

TortoiseSVN에서 ssh+svn 사용 방법  (0) 2011.04.14
[UTIL] wireshark - network protocol analyzer  (0) 2011.04.14
[site] Free Electrons  (0) 2011.03.18
[site] Linux Shell Scripting Tutorial  (0) 2011.01.26
[site] 리눅스 시스템 관리  (0) 2011.01.21
Posted by eoseontaek

Embedded Linux 포팅관련 문서를 얻을 수 있는 곳


http://free-electrons.com/


Posted by eoseontaek

Linux Shell Scripting Tutorial v1.05r3 A Beginner's handbook

http://www.freeos.com/guides/lsst/




Advanced Bash-Scripting Guide

http://www.tldp.org/LDP/abs/html/



'[Z-01] 참고 ' 카테고리의 다른 글

[UTIL] WinHex - Hex 코드 편집기  (0) 2011.04.14
[site] Free Electrons  (0) 2011.03.18
[site] 리눅스 시스템 관리  (0) 2011.01.21
[site] SAMSUNG semiconductor  (0) 2011.01.21
[site] MTD utils download 사이트  (0) 2011.01.18
Posted by eoseontaek

'[Z-01] 참고 ' 카테고리의 다른 글

[site] Free Electrons  (0) 2011.03.18
[site] Linux Shell Scripting Tutorial  (0) 2011.01.26
[site] SAMSUNG semiconductor  (0) 2011.01.21
[site] MTD utils download 사이트  (0) 2011.01.18
[site] Linux Device Driver 2nd edition (O'REILLY)  (0) 2011.01.07
Posted by eoseontaek

SAMSUNG Memory관련 정보를 얻을 수 있는 곳



http://www.samsung.com/global/business/semiconductor/


Posted by eoseontaek

'[Z-01] 참고 ' 카테고리의 다른 글

[site] 리눅스 시스템 관리  (0) 2011.01.21
[site] SAMSUNG semiconductor  (0) 2011.01.21
[site] Linux Device Driver 2nd edition (O'REILLY)  (0) 2011.01.07
[site] LIRC (Linux Infrared Remote Controller)  (0) 2011.01.03
[site] Pro Git  (0) 2011.01.03
Posted by eoseontaek

'[Z-01] 참고 ' 카테고리의 다른 글

[site] SAMSUNG semiconductor  (0) 2011.01.21
[site] MTD utils download 사이트  (0) 2011.01.18
[site] LIRC (Linux Infrared Remote Controller)  (0) 2011.01.03
[site] Pro Git  (0) 2011.01.03
[site] Linux Journal  (0) 2010.12.28
Posted by eoseontaek

'[Z-01] 참고 ' 카테고리의 다른 글

[site] MTD utils download 사이트  (0) 2011.01.18
[site] Linux Device Driver 2nd edition (O'REILLY)  (0) 2011.01.07
[site] Pro Git  (0) 2011.01.03
[site] Linux Journal  (0) 2010.12.28
[site] GCC, the GNU Compiler Collection  (0) 2010.12.28
Posted by eoseontaek
2011. 1. 3. 10:12


http://progit.org/

'[Z-01] 참고 ' 카테고리의 다른 글

[site] Linux Device Driver 2nd edition (O'REILLY)  (0) 2011.01.07
[site] LIRC (Linux Infrared Remote Controller)  (0) 2011.01.03
[site] Linux Journal  (0) 2010.12.28
[site] GCC, the GNU Compiler Collection  (0) 2010.12.28
[site] ARMboot  (0) 2010.12.28
Posted by eoseontaek
이전버튼 1 2 3 이전버튼