Linux2016. 10. 23. 20:24

The Device Dependent X (DDX) is the part of the x-server that interacts with the hardware.

[링크 : https://en.wikipedia.org/wiki/X.Org_Server]


The Direct Rendering Infrastructure (DRI) is a framework for allowing direct access to graphics hardware under the X Window System in a safe, efficient way.

[링크 : https://en.wikipedia.org/wiki/Direct_Rendering_Infrastructure]


In computing, the Direct Rendering Manager (DRM), a subsystem of the Linux kernel, interfaces with the GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU, and to perform operations such as configuring the mode setting of the display.

[링크 : https://en.wikipedia.org/wiki/Direct_Rendering_Manager]

'Linux' 카테고리의 다른 글

리눅스 런레벨  (0) 2016.12.12
yaffs2 / ext4 비교?  (0) 2016.11.04
fdisk 파티션이 2048 부터 시작하는 이유  (0) 2016.10.22
hostname을 이용한 자신의 아이피 받아오기  (0) 2016.10.18
파티션 label 변경하기  (0) 2016.10.15
Posted by 구차니
embeded/Cortex-M4 Ti2016. 10. 22. 14:27

음.. lm3s랑 tm4c driverlib을 보다 보니..


tm4c

static void

_HibernateWriteComplete(void)

{

    //

    // Spin until the write complete bit is set.

    //

    while(!(HWREG(HIB_CTL) & HIB_CTL_WRC))

    {

    }

}


void

HibernateEnableExpClk(uint32_t ui32HibClk)

{

    //

    // Turn on the clock enable bit.

    //

    HWREG(HIB_CTL) |= HIB_CTL_CLK32EN;


    //

    // Wait for write complete following register load (above).

    //

    _HibernateWriteComplete();


코드 분위기를 보아하니.. HibernateEnableExpClk()는 쓰지 말고, 얘를 쓰면 될 듯?

void

HibernateClockConfig(uint32_t ui32Config)

{

    uint32_t ui32HIBCtl;


    ASSERT((ui32Config & ~(HIBERNATE_OSC_HIGHDRIVE | HIBERNATE_OSC_LOWDRIVE |

                           HIBERNATE_OSC_DISABLE)) == 0);


    ui32HIBCtl = HWREG(HIB_CTL);


    //

    // Clear the current configuration bits.

    //

    ui32HIBCtl &= ~(HIBERNATE_OSC_HIGHDRIVE | HIBERNATE_OSC_LOWDRIVE |

                    HIBERNATE_OSC_LFIOSC | HIBERNATE_OSC_DISABLE);


    //

    // Set the new configuration bits.

    //

    ui32HIBCtl |= ui32Config & (HIBERNATE_OSC_HIGHDRIVE |

                                HIBERNATE_OSC_LOWDRIVE |

                                HIBERNATE_OSC_LFIOSC |

                                HIBERNATE_OSC_DISABLE);


    //

    // Must be sure that the 32KHz clock is enabled if the hibernate is about

    // to switch to it.

    //

    if(ui32Config & HIBERNATE_OSC_LFIOSC)

    {

        ui32HIBCtl |= HIB_CTL_CLK32EN;

    }


    //

    // Set the hibernation clocking configuration.

    //

    HWREG(HIB_CTL) = ui32HIBCtl;


    //

    // Wait for write completion

    //

    _HibernateWriteComplete();


    //

    // Write the output clock configuration for devices that support

    // controlling the output clocks from the hibernate module.

    //

    if(HIBERNATE_CLOCK_OUTPUT)

    {

        HWREG(HIB_CC) = ui32Config & (HIBERNATE_OUT_SYSCLK |

                                      HIBERNATE_OUT_ALT1CLK);

    }


lm3s

void

HibernateEnableExpClk(unsigned long ulHibClk)

{

    //

    // Turn on the clock enable bit.

    //

    HWREG(HIB_CTL) |= HIB_CTL_CLK32EN;


    //

    // For Fury-class devices, compute the number of delay loops that must be

    // used to achieve the desired delay for writes to the hibernation

    // registers.  This value will be used in calls to SysCtlDelay().

    //

    if(CLASS_IS_FURY)

    {

        g_ulWriteDelay = (((ulHibClk / 1000) * DELAY_USECS) /

                          (1000L * LOOP_CYCLES));

        g_ulWriteDelay++;

    }

}


tm4c 레지스터

WRC는 WR Complete 확인용인데 여기서 벗어나질 못하네



CLK32EN은.. tm4c 되면서 클럭이 무조건 32k로 바뀌었으니..



+

크리스탈이 발진 안하면 루프를 못 빠져 나오나?


The only time that I know of if the code loops like this is if the 32768Hz clock is not getting started. if this is a custom board can you make sure that the 32768Hz crystal is well mounted/soldered?

[링크 : https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/393107]

'embeded > Cortex-M4 Ti' 카테고리의 다른 글

tm4c hibernate module oscillator 관련  (0) 2016.10.26
tm4c 비교표  (0) 2016.10.26
tm4c ..어라? hibernate...  (0) 2016.10.20
tm4c123 rtc hibernate module  (0) 2016.09.28
tm4c uart fifo/buffer 문제  (0) 2016.09.28
Posted by 구차니
Linux2016. 10. 22. 11:09

결론은 파티션 정보로 인해서 그정도는 띄어놔야 한다?

63은 CHS 방식으로 파티션 나눌때나 그랬고

이제 더 커진 이유는 GPT로 인해서 크게크게?


Because your old disc was partitioned with a old utility, such as the Linux fdisk, that uselessly implemented track-alignment using the entirely fake disc geometry that you see reported, and your new disc has been or is being partitioned by a newer utility that (by default) aligns to 1MiB boundaries instead. 


In other words, the LBA sector number 63 corresponds to cylinder 0, head 1, sector 1 in the CHS format, which is the first sector you can use in the MBR format. However, the number 63 is not divisible by 8, which causes a problem with 4K drives, so some modern tools starts the first partition at 2048 which also provides future GPT compatibility. – billc.cn Oct 31 '11 at 23:48 


[링크 : http://superuser.com/questions/352572/why-does-the-partition-start-on-sector-2048-instead-of-63]

'Linux' 카테고리의 다른 글

yaffs2 / ext4 비교?  (0) 2016.11.04
dri drm ddx  (0) 2016.10.23
hostname을 이용한 자신의 아이피 받아오기  (0) 2016.10.18
파티션 label 변경하기  (0) 2016.10.15
구버전 사용시 호환(?)  (0) 2016.10.12
Posted by 구차니
embeded/odroid2016. 10. 22. 10:50

아니.. 은근 까다로운 녀석일세..

부팅시 장치명 문제로 인해서

파티션 재조정하다가 뻗는 등 이상한 현상이.. 끄응



1. win32Imager로 eMMC에 쓴다.

2. eMMC를 꼽고 sd를 제거하고 부팅을 한다.

3. odroid-utiltiy.sh를 통해 파티션 조정을 예약한다.

4. sd를 꼽지 말고 재부팅한다.

5. 패키지 업데이트 한다.

6. odroid-utiltiy.sh를 통해 커널을 원복한다.



아오....

Posted by 구차니
프로그램 사용/screen2016. 10. 22. 10:28

예전에 잠시 해보고 잊고 있었는데

다시 시도..


$ tty

/dev/pts/1


$ screen

$ tty

/dev/pts/6


ctrl-a,c

$ tty

/dev/pts/7


ctrl-a,n

window change


ctrl-a,d detach

[detached from 4014.pts-1.odroid_1]

// detach 시에는 다른 창을 만들어 두었더라도 전부 같이 떨어진다.


$ ps -ef | grep -i screen

odroid    4014     1  0 11:49 ?        00:00:00 SCREEN


$ screen -r

reattach


ctrl-a,? 도움말

                       Screen key bindings, page 1 of 2.


                       Command key:  ^A   Literal ^A:  a


  break       ^B b         license     ,            removebuf   =

  clear       C            lockscreen  ^X x         reset       Z

  colon       :            log         H            screen      ^C c

  copy        ^[ [         login       L            select      '

  detach      ^D d         meta        a            silence     _

  digraph     ^V           monitor     M            split       S

  displays    *            next        ^@ ^N sp n   suspend     ^Z z

  dumptermcap .            number      N            time        ^T t

  fit         F            only        Q            title       A

  flow        ^F f         other       ^A           vbell       ^G

  focus       ^I           pow_break   B            version     v

  hardcopy    h            pow_detach  D            width       W

  help        ?            prev        ^H ^P p ^?   windows     ^W w

  history     { }          quit        \            wrap        ^R r

  info        i            readbuf     <            writebuf    >

  kill        K k          redisplay   ^L l         xoff        ^S s

  lastmsg     ^M m         remove      X            xon         ^Q q


                  [Press Space for next page; Return to end.]


                       Screen key bindings, page 2 of 2.


^]   paste .

"    windowlist -b

-    select -

0    select 0

1    select 1

2    select 2

3    select 3

4    select 4

5    select 5

6    select 6

7    select 7

8    select 8

9    select 9

I    login on

O    login off

]    paste .

|    split -v

:kB: focus prev



                        [Press Space or Return to end.]  


한개 터미널에서 screen 실행중에 다른 터미널에서 확인한 결과

$ ps -ef | grep -i screen

odroid    4014     1  0 11:49 ?        00:00:00 SCREEN

odroid   17153  1554  0 11:57 pts/1    00:00:00 screen -r 


실수로 screen 안에서 screen -r 하니 이런 에러가 뜨네

$ screen -r

There is a screen on:

        4014.pts-1.odroid_1     (22/10/16 11:49:14)     (Attached)

There is no screen to be resumed. 


두개 터미널에서 detach 하니 이렇게 뜬다.

detach한 pts 번호가 뜨니 골라서 붙이면 된다.

물론 프로세스 정보 상으로는 tty가 ?로 뜸

$ screen -r

There are several suitable screens on:

        24631.pts-12.odroid_1   (22/10/16 12:02:24)     (Detached)

        4014.pts-1.odroid_1     (22/10/16 11:49:13)     (Detached)

Type "screen [-d] -r [pid.]tty.host" to resume one of them. 


$ ps -ef | grep -i screen

odroid    4014     1  0 11:49 ?        00:00:00 SCREEN

odroid   24631     1  0 12:02 ?        00:00:00 SCREEN


머랄까.. screen 프로그램이 중재자로

자신을 통해서 여러개의 pts를 오갈수 있는 컨셉?


[링크 : https://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/]

2012/07/07 - [Linux] - ssh 를 통해 프로그램 실행후 로그아웃 해도 종료되지 않게 하기

2012/07/09 - [Linux/Ubuntu] - screen 유틸의 프로세스 구조(?)


Posted by 구차니
embeded/odroid2016. 10. 22. 09:52

크롬 가속이랑 창이 느리게 옮겨지는건 window manager를 바꾸라는데

그러면 단축키가 지원하지 않는다고?

끄응..


GPU acceleration on the Chromium Web browser

/etc/chromium-browser/default

CHROMIUM_FLAGS=" --use-gl=egl --ignore-gpu-blacklist --disable-accelerated-2d-canvas --num-raster-threads=2"


Slow window moving

menu/settings/Default applications for LXSession –> Core applications –> Windows manager –> metacity

Note that, the metacity doesn't support the short-cut keys well. 


[링크 : http://odroid.com/dokuwiki/doku.php?id=en:u3_ubuntu_release_note_20150224]


+

원래는 openbox인데 이걸


metacity로 설정하면 확실히 빨라는 지는데

스크린샷이라던가 터미널 단축키라던가 안되는 소소한(?) 문제가 있다.

해결할 방법이 영 없네...


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

odroid에서 blender 재시도.. 실패 -_-  (0) 2016.10.23
odorid u3 emmc+sd 설치 순서  (0) 2016.10.22
넌 또 왜 난리니 ㅠㅠ  (0) 2016.10.21
odroid u3 커널빌드... 재시도  (0) 2016.10.19
odroid ubuntu 14.04 LTS / gcc-4.7  (0) 2016.10.19
Posted by 구차니
하드웨어/Storage2016. 10. 21. 16:03

NAND FLASH 보다 궁금한게 생겨서 검색..


x8도 있고 x16도 있어서 먼가 헷갈리는데...

아무튼 x8 x16는 데이터의 크기 같고(X8은 byte X16은 word라니 2byte?)


데이터 버스의 크기 차이로 인해서 내용 설명도 달라지는 듯..

아무튼.. 칩도 다른걸 봐서는.. X16 칩을 X8 모드로 쓸 수는 없나 보네..


대개.. ECC를 지원하는데 특이하게(?) 얘는 EDC 라고 에러 검출만 가능하다.

정정 그게 먼가요? 우걱우걱... ㅠㅠ

[링크 : http://www.datasheet4u.com/pdf/H27U2G8F2C-pdf/843378]



The EDC/ECC technique uses an error detecting code (EDC) in the level 1 cache. If an error is detected, data is recovered from ECC-protected level 2 cache.

[링크 : https://en.wikipedia.org/wiki/ECC_memory]


ECC를 제공하면.. 512/1024byte 바이트 당 3바이트 짜리 혹은 1바이트 짜리 ECC 코드가 붙는 듯


The SAMA5D3 provides up to 24 bits of ECC code per sector of 512 or 1024 bytes. Table 1-1 provides the number of ECC bytes required depending on the number of errors to correct. 

[링크 : http://www.atmel.com/...A5-Microcontroller_NAND-Flash-Support-for-SAMA5D3_Application-Note.pdf]


[링크 : http://www.easytv.co.kr/153]

[링크 : http://pastime0.tistory.com/entry/NAND]



+

아 드럽게 헷갈리네..


ECC 알고리즘 별로 필요로 하는 양이 다른거 같은데

Hamming

A 512B data block consists of 4096 (2^12) bits, thus a Hamming code requires 24 parity bits.


Reed-Solomon

An RS over a 512B data block consisting of 9-bit symbols capable of supporting 8 symbol correction would require 2*9*8, or 144 bits of parity.


BCH

Blocksize ECC Level ECC Bits ECC Bytes

512B ECC 8 13*8=104 13

512B ECC 16 13*16=208 26

1024B ECC 24 14*24=336 42

1024B ECC 40 14*40=560 70 

[링크 : http://www.cyclicdesign.com/index.php/parity-bytes/2-bch/27-nand-ecc-how-many-parity-bytes]


데이터 시트를 보면.. 512 byte당 16byte의 spare가 있고 여기다가 EDC 데이터가 저장될 수 있다는 건가?

그러면 ECH로 할 경우에는 8비트(?) 로 는 가능하고 24bit로는 불가능?


'하드웨어 > Storage' 카테고리의 다른 글

sata gen3 mode ?  (0) 2017.02.02
시놀로지 https / ssl 인증서 적용하기  (0) 2017.01.25
synology home / homes 차이점  (0) 2016.07.14
synology opensource  (0) 2016.06.23
synology ds215+ cpuinfo  (4) 2016.06.23
Posted by 구차니
Microsoft/Windows2016. 10. 21. 13:43

PL-2303HXA / PL-2303X 단종 칩셋이라 win8/8.1/10 에서 미지원함

그렇기에 설치를 해도 장치를 시작할 수 없다고 에러가 발생함


NOTE:

  • Windows 8/8.1/10 are NOT supported in PL-2303HXA and PL-2303X EOL chip versions.
  • Run PL2303 CheckChipVersion tool program in Windows XP/Vista/7 to check chip version.
  • Windows XP, 2000, 98 and Windows ME driver technical support is discontinued.
  • Prolific recommends to use PL-2303HXD (HX Rev D) or PL2303TA chip.

[링크 : http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41]


결론은.. 구버전 드라이버 설치?

Device using PL-2303 H/HXA/HX/X version chips

Driver Version: 3.3.2.102

Driver Date: 09/29/08

Supported device ID and product strings: . VID_067B&PID_2303 for "Prolific USB-to-Serial Comm Port" 

[링크 : http://www.totalcardiagnostics.com/.../prolific-usb-to-serial-fix-official-solution-to-code-10-error]



+

2018.01.15


PL2303HX(rev A) 칩셋이 위조가 많아서 겸사겸사 단종시켜 버린 듯

HX(rev A)인데 HXA 로도 표기 하는 것을 보인다.

Warning Notice:

Please be warned that counterfeit (fake) PL-2303HX (Chip Rev A) USB to Serial Controller ICs using Prolific's trademark logo, brandname, and device drivers, were being sold in the China market. Counterfeit IC products show exactly the same outside chip markings but generally are of poor quality and causes Windows driver compatibility issues (Yellow Mark Error Code 10 in Device Manager). We issue this warning to all our customers and consumers to avoid confusion and false purchase. 


'Microsoft > Windows' 카테고리의 다른 글

win7 스티커 메모(sticky note) 복원관련  (0) 2017.01.11
autochk.exe not found in winxp  (2) 2016.11.26
메모장 F5 단축키..  (0) 2016.08.10
win7 자격 증명 저장관련  (0) 2016.06.23
win10 on bash / linux!  (0) 2016.03.31
Posted by 구차니
embeded/odroid2016. 10. 21. 08:51

집에 가서 odroid 가지고 놀고 끄고 다시 켜려는데

어라 한대가 갑자기 안켜진다?!?!?


아놔... 결국(?)에는 eMMC 랑 또 주말에 씨름해야 하나? ㅠㅠ



엌? 커널 업데이트 하다가 커널 날아갔나?

OK


U-Boot 2010.12-svn (May 12 2014 - 15:05:46) for Exynox4412



CPU: S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]

APLL = 1000MHz, MPLL = 880MHz

DRAM:  2 GiB


PMIC VERSION : 0x00, CHIP REV : 3

TrustZone Enabled BSP

BL10version: 20121128



Checking Boot Mode ... EMMC4.41

REVISION: 2.0

Manufacture ID 0x11 [ 7456MB ]

NAME: S5P_MSHC4

MMC Device 0: 7456 MB

MMC Device 1: 14804 MB

MMC Device 2 not found

*** Warning - using default environment


USB3503 NINT = OUTPUT0LOW!

ModeKey Check... run normal_boot

No ethernet found.

Hit any0key to stop autoboot:  0

Exynos4412 # boot

do_fat_cfgload : cmd = fatload mmc 0:1 0x41000000 boot.ini

reading boot.ini

** Unable0to read file boot.ini **

NAME: S5P_MSHC4

NAME: S5P_MSHC4

>>> Load Boot Script from mmc 0:1 <<<

reading boot.scr

Warning : Reads a file that is smaller than the cluster size.

355 bytes read in 46 ms (6.8 KiB/s)

##0Executing script at 40008000

reading zImage

** Unable to read file zImage **

reading0uInitrd

Warning : Reads a file that is smaller than the cluster size.

64 bytes read in 32 ms (2 KiB/s)

## Booting kernel from Legacy Image at 40008000 ...

   Image0Name:  0

  0Image Type:   ARM Linux Script (uncompressed)

   Data Size:    291 Bytes = 291 Bytes

  0Load Address: 00000000

   Entry Point:  00000000

   Contents:

   0 0Image 0: 283 Bytes = 283 Bytes

0 0Verifying Checksum ... OK

Wrong Image Type for bootm command

ERROR: can't get kernel image!

Exynos4412 # 


+

커널 복사해줘도 자동 부팅 안되서

결론 에라이 걍 밀자 -_-

Exynos44120# pri

baudrate=115200

bootargs=fb_x_res=1280 fb_y_res=720 hdmi_phy_res=720

bootcmd=    cfgload; mmc rescan 0:1; mmc rescan 0:2;  if run loadbootscript_1;

bootdelay=1

bootscript=source 40008000

cfg_file_name=boot.ini

cfg_load_base_mem=41000000

cfg_load_device=0

cfg_load_partition=1

cfg_load_partition_type=fat

copy_uboot_emmc2sd=emmc open 0;movi r z f 0 40000000;emmc close 0;movi0w f 1 40;

copy_uboot_sd2emmc=movi r f 0 40000000;emmc open 1;movi w z f 1 40000000;emmc c;

default_bootcmd=echo0>>> Run Default Bootcmd <<<;movi read kernel 0 40008000;mo0

erase_uboot_env=mmc write 0 0x40008000 0x977 0x20;

ethaddr=00:40:5c:26:0a:5b

extra_arg_0=0

extra_arg_1=0

extra_arg_2=0

extra_arg_3=0

gatewayip=192.168.0.1

ipaddr=192.168.0.20

loadbootscript_1=echo >>> Load Boot Script from mmc 0:1 <<<;fatload mmc 0:1 400r

loadbootscript_2=echo >>> Load Boot Script from mmc 0:2 <<<;fatload mmc 0:20400r

netmask=255.255.255.0

serverip=192.168.0.10

usb_invert_clken=0


Environment size: 1706/16380 bytes 


우찌된게..

시리얼만 꽂아 두기만 해도 부팅이 멈추지?

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

odorid u3 emmc+sd 설치 순서  (0) 2016.10.22
odroid u3 릴리즈 노트의 중요한... 내용?  (0) 2016.10.22
odroid u3 커널빌드... 재시도  (0) 2016.10.19
odroid ubuntu 14.04 LTS / gcc-4.7  (0) 2016.10.19
gcc std c99와 asm  (0) 2016.10.19
Posted by 구차니
embeded/Cortex-M4 Ti2016. 10. 20. 22:22

driverlib 데이터시트..


HIBRTCSS가 헤더에 없다 -ㅁ-?

이걸 써야 hibernate module rtc counter mode를 쓸수 있는데?!?!





'embeded > Cortex-M4 Ti' 카테고리의 다른 글

tm4c 비교표  (0) 2016.10.26
tm4c HibernateEnableExpClk() 차이점  (0) 2016.10.22
tm4c123 rtc hibernate module  (0) 2016.09.28
tm4c uart fifo/buffer 문제  (0) 2016.09.28
lm3s tm4c 시스템 클럭 차이점  (0) 2016.09.24
Posted by 구차니