embeded/Cortex-M3 STM2017. 1. 10. 18:33

CMSIS - Cortex Microcontroller Software Interface Standard


[링크 : http://www.ti.com/lit/an/spma041g/spma041g.pdf]

    [링크 : https://www.arm.com/.../cortex-m/cortex-microcontroller-software-interface-standard.php]

    [링크 : http://www.ti.com/tool/cmsis_device_headers] download


Cortex-m0는 ITM 미지원 

[링크 : https://www.arm.com/files/pdf/AT_-_Advanced_Debug_of_Cortex-M_Systems.pdf]

[링크 : http://blog.atollic.com/cortex-m-debugging-printf-redirection-to-a-debugger-console-using-swv/itm-part-1]


+

lm3s 시리즈에는 DFP(Device Family Pack)로 제공하는데 cmsis가 포함되어있는진 모르겠네

[링크 : https://www.keil.com/dd2/pack/]

'embeded > Cortex-M3 STM' 카테고리의 다른 글

STM32F103 관련 용어  (0) 2021.02.02
CMSIS for stm32  (0) 2018.02.12
stm32 DMA 관련글들  (0) 2017.12.11
stm32 cortex-m3 api / library  (0) 2015.01.17
stm32f103z ?  (0) 2015.01.10
Posted by 구차니
embeded/raspberry pi2016. 12. 31. 09:41

신버전이 나와서 깔았더니 SSH가 안된다 -ㅁ-

확인을 해보니.. 일단 ssh가 비활성화 되어 있고

기본암호인 raspberrypi로 쓸 경우 부팅시에 경고를 띄우게 되어 있다.

아무래도 데스크 탑 대용이라던가 기본값으로 쓰다 보니 보안 문제가 있어서

이런식으로 기본은 SSH로 작동을 하지 않도록 바뀐듯..

그런데 그러면 무조건 모니터 연결해야 해서 이래저래 불편하네..

[링크 : https://www.raspberrypi.org/downloads/raspbian/]


그리고 화면은 HDMI overscan 활성화..

그거와 별개로 집에서 HDMI to DVI를 통해 1600x900 뜨는건 모니터 쪽 EDID 정보 문제일 듯..

배경은 무지 이뻐졌네 ㅋㅋ




+

2018.01.10

$ touch /boot/ssh

하듯 파일을 생성해주면 ssh가 활성화 된다.

2016년 11월 이후 릴리즈에 대해서 보안상의 이유로 변경


[링크 : https://blog.naver.com/opusk/220984515191]

'embeded > raspberry pi' 카테고리의 다른 글

라즈베리 파이 + 태양전지!  (0) 2017.01.25
라즈베리 파이 4k 대응 @15p  (2) 2017.01.17
라즈베리 저전력 발악해보기?  (0) 2016.12.16
라즈베리 파이 xorg.conf  (0) 2016.11.03
rpi microSD slot  (0) 2016.10.31
Posted by 구차니
embeded/odroid2016. 12. 25. 20:17

cpu 점유율 무지 낮네?

이정도면.. 화면에 출력 안하면  640x480 으로 두개 동시에 처리하는거 무리 없을지도?



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

odroid u3 mame psp  (0) 2018.02.20
odroid U2/U3 USB 전원 사용하도록 개조 + 케이스  (0) 2018.01.16
odroid u3 전원소비 (경우별)  (0) 2016.12.15
odroid vlc 웹캠 cpu 점유율  (0) 2016.11.26
odroid u3 16.04 vlc / webcam  (0) 2016.11.21
Posted by 구차니
embeded/Cortex-M4 Ti2016. 12. 20. 10:49

my Ti 계정 있어야 함

진즉에 검색해볼걸 그랬나...


SW-DK-TM4C123G-2.1.3.156.exeDK-TM4C123GL Kit Software60168K

[링크 : http://software-dl.ti.com/tiva-c/SW-TM4C/latest/index_FDS.html]



소스 기본 골격 자체는 lm3s1968이랑 차이가 없네

    //
    // Check to see if Hibernation module is already active, which could mean
    // that the processor is waking from a hibernation.
    //
    if(HibernateIsActive())
    {
        //
        // Read the status bits to see what caused the wake.
        //
        ui32Status = HibernateIntStatus(0);
        HibernateIntClear(ui32Status);

        //
        // If the wake is due to button or RTC, then read the first location
        // from the battery backed memory, as the hibernation count.
        //
        if(ui32Status & (HIBERNATE_INT_PIN_WAKE | HIBERNATE_INT_RTC_MATCH_0))
        {
            HibernateDataGet(&ui32HibernateCount, 1);
        }
    }

    //
    // Enable the Hibernation module.  This should always be called, even if
    // the module was already enabled, because this function also initializes
    // some timing parameters.
    //
    HibernateEnableExpClk(ROM_SysCtlClockGet());

    //
    // If the wake was not due to button or RTC match, then it was a reset.
    //
    if(!(ui32Status & (HIBERNATE_INT_PIN_WAKE | HIBERNATE_INT_RTC_MATCH_0)))
    {
        //
        // Configure the module clock source.
        //
        HibernateClockConfig(HIBERNATE_OSC_LOWDRIVE);

        //
        // Wait a couple of seconds in case we need to break in with the
        // debugger.
        //
        SysTickWait(3 * 100);

        //
        // Allow time for the crystal to power up.  This line is separated from
        // the above to make it clear this is still needed, even if the above
        // delay is removed.
        //
        SysTickWait(15);
    }

    //
    // Clear and enable the RTC and set the match registers to 5 seconds in the
    // future. Set both to same, though they could be set differently, the
    // first to match will cause a wake.
    //
    HibernateRTCSet(0);
    HibernateRTCEnable();
    HibernateRTCMatchSet(0, 5);

    //
    // Set wake condition on pin or RTC match.  Board will wake when 5 seconds
    // elapses, or when the button is pressed.
    //
    HibernateWakeSet(HIBERNATE_WAKE_PIN | HIBERNATE_WAKE_RTC);

    //
    // Request hibernation.
    //
    HibernateRequest();


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

tm4c hibernate module 초기화 무한루프  (2) 2017.01.10
tivaware swd debug / semihosting  (0) 2017.01.10
tm4c rtc trim...  (0) 2016.11.23
tm4c rtc 빨라...  (0) 2016.11.02
tm4c hibernate module 초기화 관련..  (0) 2016.11.01
Posted by 구차니
embeded/raspberry pi2016. 12. 16. 15:08

테스트 해보니.. maxcpus는 작동하지 않는듯


# replace N with the number of cores you want to keep using

maxcpus=N 

[링크 : http://raspberrypi.stackexchange.com/questions/32562/how-to-make-the-raspberry-pi-consume-less-power]


arm_freq Frequency of the ARM CPU in MHz. The default value is 700.

core_freq Frequency of the GPU processor core in MHz. It has an impact on CPU performance, since it drives the L2 cache. The default value is 250.

sdram_freq Frequency of the SDRAM in MHz. The default value is 400.


gpu_freq Sets core_freq, h264_freq, isp_freq, and  v3d_freq together. The default value is 250.

h264_freq Frequency of the hardware video block in MHz. The default value is 250.

isp_freq Frequency of the image sensor pipeline block in MHz. The default value is 250.

v3d_freq Frequency of the 3D block in MHz. The default value is 250.


arm_freq_min Minimum value of arm_freq used for dynamic frequency clocking. The default value is 700.

core_freq_min Minimum value of core_freq used for dynamic frequency clocking. The default value is 250.

sdram_freq_min Minimum value of sdram_freq used for dynamic frequency clocking. The default value is 400.


[링크 : https://www.raspberrypi.org/documentation/configuration/config-txt.md]

[링크 : http://raspberrypi.stackexchange.com/questions/23442/raspberry-pi-b-cpu-clock-manipulation]

[링크 : http://raspberrypi.stackexchange.com/questions/41517/low-enery-consumption-kernel]


+

길어서 cpu 1,2,3은 삭제

$ cpufreq-info

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009

Report errors and bugs to cpufreq@vger.kernel.org, please.

analyzing CPU 0:

  driver: BCM2835 CPUFreq

  CPUs which run at the same hardware frequency: 0 1 2 3

  CPUs which need to have their frequency coordinated by software: 0 1 2 3

  maximum transition latency: 355 us.

  hardware limits: 600 MHz - 900 MHz

  available frequency steps: 600 MHz, 900 MHz

  available cpufreq governors: conservative, ondemand, userspace, powersave, performance

  current policy: frequency should be within 600 MHz and 900 MHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 600 MHz.


$ cat /boot/config.txt

#uncomment to overclock the arm. 700 MHz is the default.

#arm_freq=800

arm_freq_min=300


길어서 cpu 1,2,3은 삭제


$ cpufreq-info

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009

Report errors and bugs to cpufreq@vger.kernel.org, please.

analyzing CPU 0:

  driver: BCM2835 CPUFreq

  CPUs which run at the same hardware frequency: 0 1 2 3

  CPUs which need to have their frequency coordinated by software: 0 1 2 3

  maximum transition latency: 355 us.

  hardware limits: 300 MHz - 900 MHz

  available frequency steps: 300 MHz, 900 MHz

  available cpufreq governors: conservative, ondemand, userspace, powersave, performance

  current policy: frequency should be within 300 MHz and 900 MHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 300 MHz.

  cpufreq stats: 300 MHz:16.33%, 900 MHz:83.67%  (7)


$ cat /boot/config.txt

arm_freq=600

arm_freq_min=100


$ cpufreq-info

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009

Report errors and bugs to cpufreq@vger.kernel.org, please.

analyzing CPU 0:

  driver: BCM2835 CPUFreq

  CPUs which run at the same hardware frequency: 0 1 2 3

  CPUs which need to have their frequency coordinated by software: 0 1 2 3

  maximum transition latency: 355 us.

  hardware limits: 100.0 MHz - 600 MHz

  available frequency steps: 100.0 MHz, 600 MHz

  available cpufreq governors: conservative, ondemand, userspace, powersave, performance

  current policy: frequency should be within 100.0 MHz and 600 MHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 600 MHz.

  cpufreq stats: 100.0 MHz:0.00%, 600 MHz:100.00% 


테스트 해보니.. 0.04W 감소 월(30일)기준 28.8W 절약... 이라고 해야하나?

100MHz 1.70W -> 1.66W

Posted by 구차니
embeded/odroid2016. 12. 15. 21:21

odorid u3

eMMC 8GB + SD 16GB

100M 랜선 연결 idle 1.95W

랜선빼고 1.72W (-0.23W)

SD 카드는 영향을 주지 않음(내장형 SD)


USB 키보드 0.17W

USB 마우스 0.53W


평균 2W 먹음(idle)

2W * 24 * 30 = 1440W = 1.4KW



---

번외

라즈베리 파이

lan / hdmi 연결 안함  1.70W

lan만 연결 1.93W


hdmi 연결 하고 부팅 1.76W

hdmi + lan 2.01W

hdmi 연결부팅 후 hdmi 제거 1.76W


Posted by 구차니
embeded/arduino(genuino)2016. 12. 2. 21:46

아두이노에서 아두이노 부트로더를 통해 시리얼로 업로드 하는데

avrdude를 통해 사용할떄는 프로그래머 타입을 arduino로 설정을 한다.

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58

         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         Copyright (c) 2007-2009 Joerg Wunsch


         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"


         Using Port                    : COM6

         Using Programmer              : arduino

         Overriding Baud Rate          : 57600

         AVR Part                      : ATmega328P 

2016/03/27 - [embeded/arduino(genuino)] - 아두이노 나노 - 시리얼 테스트


Binary sketch size: 1,084 bytes (of a 30,720 byte maximum)

D:/arduino-1.0.4/hardware/tools/avr/bin/avrdude -CD:/arduino-1.0.4/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P.COM22 -b57600 -D -Uflash:w:C:/Users/aSensar/AppData/Local/Tempbuild1227546797508918322.tmpBlink.cpp.hex:i 

[링크 : http://asensar.com/article/program-arduino-with-avrdude.html]


라즈베리의 GPIO를 통해서 spi 통신을 하는건지 

라즈베리의 spi로 avrisp를 흉내내는건진 잘 모르겠다.

[링크 : https://learn.adafruit.com/program-an-avr-or-arduino-using-raspberry-pi-gpio-pins/installation]


[링크 : https://www.arduino.cc/en/Hacking/Bootloader?from=Tutorial.Bootloader]

[링크 : http://svn.savannah.nongnu.org/viewvc/trunk/avrdude/arduino.c?revision=1321...p]

'embeded > arduino(genuino)' 카테고리의 다른 글

hoverlabs 사의 hover 제품  (0) 2017.07.17
아두이노 스켈레톤 코드 및 부트로더  (0) 2017.02.11
pwm ppm decode  (0) 2016.11.28
arduino clcd  (0) 2016.11.25
arduino nano 스펙(PWM)  (0) 2016.11.25
Posted by 구차니
embeded/arduino(genuino)2016. 11. 28. 18:30

'embeded > arduino(genuino)' 카테고리의 다른 글

아두이노 스켈레톤 코드 및 부트로더  (0) 2017.02.11
avrdude arduino  (0) 2016.12.02
arduino clcd  (0) 2016.11.25
arduino nano 스펙(PWM)  (0) 2016.11.25
아두이노 프로세싱(언어)  (0) 2016.05.09
Posted by 구차니
embeded/odroid2016. 11. 26. 22:09

640x480 해상도이긴 하지만 완전 낮은데?

MJPEG이라 그런건가..그리고 해상도 변경이 안되네? ㅠㅠ



Packed YUV가 오히려 더 cpu를 조금더 먹네

mjpeg은 jpeg이니까 하드웨어 가속을 받아도 압축이니까 순수하게 cpu로 해서 그런건가?



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

odroid u3 웹캠 두 채널  (0) 2016.12.25
odroid u3 전원소비 (경우별)  (0) 2016.12.15
odroid u3 16.04 vlc / webcam  (0) 2016.11.21
odroid ubuntu mate 16.04 chrome flash가 안되네..  (0) 2016.11.19
odroid ubuntu mate 16.04 uname  (0) 2016.11.17
Posted by 구차니
embeded/arduino(genuino)2016. 11. 25. 20:46

4bit 8bit hd44780


[링크 : https://www.arduino.cc/en/Reference/LiquidCrystal]]

[링크 : https://www.arduino.cc/en/Tutorial/LiquidCrystalDisplay]

[링크 : http://playground.arduino.cc/Code/LCD]


근데 내가 가진건. hd44780 계열이 아니네...

sed1520 - cm04075

[링크 : https://www.devicemart.co.kr/1077090]

+ 2020.03.08

[링크 : https://blog.naver.com/ssw152003/220694366332]


s6a0069 / ks0066u - lc1628

[링크 : https://www.devicemart.co.kr/1075057]

'embeded > arduino(genuino)' 카테고리의 다른 글

avrdude arduino  (0) 2016.12.02
pwm ppm decode  (0) 2016.11.28
arduino nano 스펙(PWM)  (0) 2016.11.25
아두이노 프로세싱(언어)  (0) 2016.05.09
arduino firmata  (0) 2016.04.27
Posted by 구차니