# data[].attributes.body
NVIC에서 IRQ 11을 사용한다고 했을 때 벡터 테이블에서도 [11]의 위치에 핸들러 주소를 저장해야 하나요 아니면 벡터 테이블에서의 위치는 [0]으로 해도 상관없는건가요? HAL FUNC을 사용하여 interrput의 채널을 11로 했는데 벡터 테이블에 [0]의 위치에 핸들러 주소가 저장되어 의문이 들어 질문드립니다.

# data[].attributes.body
시험에서 레지스터 값을 설정하는 것이 나온다고 하면 그 변수의 크기에 맞게 (uint32_t) 같은 형 변환을 해주어야 정답인가요 아니면 생략이 가능한가요?

# data[].attributes.body
Clock(LOCO, PCLKB 등)의 Frequency 값도 시험 때 제공되나요??

# data[].attributes.body
14주차 실습 소스 코드는 따로 제공되지 않는 건가요??

# data[].attributes.body
따로 명시가 없는 것 같은데 혹시 제가 미처 확인 못한 부분이 있을까요? 아니면 이전처럼 A4로해서 제출하면 될까요?

# data[].attributes.body
위의 그림처럼 이미지 파일이 보드 반납 예시 사진인거 같은데 열리지 않습니다.

혹시 다시 한번 올려주실 수 있으신가요?

# data[].attributes.body
DC 모터가 ccw로 회전하고 있을 때 duty rate를 70으로 설정한 후, cw 버튼을 누르면 회전 속도가 ccw 방향 회전 속도와 같아야 하나요?

# data[].attributes.body
hal_data.h directory가 없다는것부터 시작해서 이런 build 오류가 발생하는데 원인이 무엇일까요?

# data[].attributes.body
Error 0x00040100: The command cannot be executed since the power supply to the MCU on the user system is turned off. 이라는 오류가 뜨면서 디버깅이 되질 않습니다. power 쪽 문제로 보이는데 어떻게 해결할 수 있을까요?

# data[].attributes.body
Control, Security 모드에서 ASCII message 보낼때 사용하지 않는 data field는 무조건 0x30 이어야 하나요??

예를 들어 11110001을 보내면 FND digit4에 1을 표시하고 11111112를 보내면 2를 표시하면 안되는 것이 맞는지 궁금합니다.

# data[].attributes.body
안녕하세요.
Timer Period를 설정할 수 있고 그 count 값을 FND로 출력하는 부분을 구현하다 문제가 생겨 질문 드립니다.

AGT1 Timer을 사용했고, period를 직접 설정해야 하므로 Registor 기반으로 구현했는데
Assignment2의 R_AGT1_Setting() 함수와 완벽히 동일하게 구현하여 Registor를 설정했으나 이 부분을 추가하면

Since the operating frequency is above a certain level, the command was executed with a memory wait cycle temporarily inserted.

라는 오류가 발생합니다. 원인 및 해결 방법이 궁금하여 질문 드립니다. 감사합니다.

# data[].attributes.headline
FND조건에 대해 질문드립니다

# data[].attributes.subject
FND조건에 대해 질문드립니다

# data[].attributes.body
FND에서 serial transmit data에 값을 보낼 때 10진수를 예로 들면 마지막 자리에 0x30~0x39의 값을 넣는 것으로 결정 되는데 여기에 범위 외의 값을 넣으면 훼손된 데이터로 가정하나요 아니면 0x30~0x39의 값만 넣을 것으로 가정하나요?

# data[].attributes.body
학번이 2023123456일 경우, LED1번을 눌렀을 때, GUI에서 UART 통신을 통해 순서대로
0x02, 0b01011101(0x5D), 0b01000001(0x41), 0x00, 0x00, 0x03
이렇게 6byte를 보내는 것이 맞나요?

# data[].attributes.body
admin mode에서 root mode를 하고 다시 admin mode로 돌아왔을 때, GUI 화면에 마지막으로 측정된 모드와 센서 값이 변하지 않고 나와있는데 이러면 감점인가요?
그리고 VR값이 100을 넘을 수 있는건가요?

# data[].attributes.body
이번 프로젝트에서 CAN의 동작은 SW를 통해 message를 출력하는 것 뿐이니 can_callback의 기능은 사실상 없다고 생각하는데 맞나요?

# data[].attributes.body
agt timer interrupt 의 priority가 uart에서 receive priority 보다 낮을 때 어떤 동작을 실행시키는 중 저항값에 변화를 주어버리면 실행시켰던 동작이 고정이 되어버리고 다른 기능이 작동을 안하는 loop에 걸려 버립니다... timer interrupt를 preemption 하니 원래 진행되던 동작에 문제가 생겨버리는 것 같습니다. 왜그런 걸까요..?

# data[].attributes.body
dac기능관련해서 instruction상에 DAC가 다른 기능때문에 중단되면 안된다는 말만 있는데 이걸 만족만한다면 main문에 구현하지않아도 괜찮은가요?

또한 FND digit3에 대한 초기조건이 따로 설정되어있진않은데 그러면 초기에 off상태이다가 Adc타이머가 작동할때 켜지게 구현해도 괜찮은지 궁급합니다.

# data[].attributes.body
9주차에 나와있는 방법대로 시도했지만, 해당 문제가 해결되지 않으면 어떻게 해야하나요? 기본적인 GPIO 예제도 해당 에러가 지속적으로 발생합니다

# data[].attributes.body
엑셀시트에 monitoring에서 protection이 걸려있어도 동작해야 한다고 쓰여있는데 timer count는 default 값인 1s에서 바꿀 수 없는 상태로 fnd에 출력이 되고 ADC에서 period는 입력을 못하기 때문에 monitoring할 수 없다고 이해했는데 맞나요?
+ tact만 온전히 모든 기능을 할 수 있는 상태로 구현하였습니다.

# data[].attributes.body
처음 program을 실행하거나 reset을 할 때 라고 쓰여있는데 reset이 정확히 어떤 동작인지 잘 모르겠습니다.

# data[].attributes.body
period에 맞게 variable값이 바뀌도록 설정하였는데 그렇게 하니까 GUI상에 mode를 표시하는 창도 period가 커질수록 늦게 바뀌는 현상이 발생합니다. 혹시 감점요인이 될까요?

# data[].attributes.body
방금까지 실행이 잘되었는데 어느 순간 디버깅을 할 때 시간이 오래 걸리면서 다음과 같은 에러가 뜨면서 실행을 할 수 없게 되었습니다. 혹시 에러의 이유가 무엇인지 알 수 있을까요??

# data[].attributes.headline
ASCII 타입 메세지 무결성 검사

# data[].attributes.subject
ASCII 타입 메세지 무결성 검사

# data[].attributes.body
실시간 qna때 ASCII 타입 메세지에 대해서는 무결성 검사가 구현되어야 한다고 하셨는데 그 범위가 메세지 전체 11byte인지, 아니면 Data Field 한정 4byte인지 궁금합니다.

# data[].attributes.body
제 학번 이외의 다른 학번이 입력되었을 때에는 작동 안되게 하는 것이 맞나요?

# data[].attributes.body
디버깅을 하는 도중
위와 같은 에러가 한번 뜬 이후로
이전에 완성하고 작동되던 프로젝트들도 디버깅시 계속해서 다음과 같은 에러가 발생하고 있습니다.
해결방법이 있는지 질문드립니다

0x0030806: First communications connection with the tarage MCU cannot be made normally.DAP cannot be found in the connection target.Check the connection target or lower the JTAG/SWD clock frequency

# data[].attributes.body
처음 key를 입력하여 Write Protection을 해제한 이후에 key를 다시 입력하는 경우도 고려해야 하나요?

# data[].attributes.body
GUI에서 LED1 버튼을 클릭했을 때, data length와 data field에 0이 들어와야 한다고 생각했는데, 확인해보니까 이전 값이 변하지 않고 그대로 담겨있는 것이 확인되었습니다. DC Motor의 duty rate를 0으로 설정하는 과정 또한 동일하게 data field를 0으로 작성하는 부분이지만 문제없이 잘 작동하는 반면 LED1은 command까지만 전송되는 것 같은데 혹시 제가 코드를 잘못 작성한 것인지 궁금합니다.

# data[].attributes.body
R_SCI_UART_Open(&g_uart0_ctrl, &g_uart0_cfg); 을 넣으면 makefile에서 오류가 나서 build가 안됩니다. 혹시 어떻게 해결하는지 알 수 있나요?
makefile:72: recipe for target 'final_project.elf' failed
이런 메시지가 뜹니다.

# data[].attributes.body
예외적인 입력도 고려해서 예외 처리를 해주어야 하나요? (예를 들어 servo motor에서 180일 때 +10을 하는 경우)

# data[].attributes.headline
화면 글자 크기 설정 질문

# data[].attributes.subject
화면 글자 크기 설정 질문

# data[].attributes.body
실수로 ctrl -를 눌렀는데 코드가 작아서 안보이는데 다시 키우는 방법이 있나요? ctrl +를 해도 안커져서 질문 드립니다.
추가적으로 글시체가 이상하게 나오는 현상이 발생하는데 해결방법이 있을까요? 제가 입력하려는 문자만 글시체가 다르고 volatile등의 코드를 써도 색깔이 변하지 않고 밑에 빨간줄이 표시됩니다.

# data[].attributes.body
ㄷ디버깅 시작하면 이 코드에서 한번 멈춥니다!!

# data[].attributes.body
FND에 출력되는 counter가 00으로 바뀌는데, 이때, timer count를 reset시켜서 0s부터 시작하게 만들어야 하는지 궁금합니다. FND출력 값만 바꾸면 0으로 초기화 후 바로 바뀌는 경우도 생겨서 문의드립니다.

# data[].attributes.body
디버깅을 시작 하면서 이 코드에서 넘어가지 않고 있는데 어떤 오류인가요?

# data[].attributes.body
제출할 때 프로젝트 자체를 압축하여 여러 번 제출하였더니 finalProject-1과 같이 뒤에 숫자가 붙어 project file 이름이 바뀌는데 상위 폴더를 하나 더 만들어 그 폴더를 압축해서 제출해도 되나요? 그리고 혹시 제출명 형식은 따로 없는 것인가요?

# data[].attributes.body
adc_open은 초기설정에서 되어있어서
admin이나 root나 adc자체는 동작하는데

ROOT에서 타이머 설정하고 모니터링이 되다가
ADMIN이 되면 READ부분도 같이 잠겨서 센서 값들이 변하지는 않는데 GUI로 전송은 안되지만 센서 값들이 변하기는 해야하는 건가요?

# data[].attributes.body
정해진 시간마다 FND의 수를 0부터99까지 올리는 경우에 대해 질문드립니다.

이 작동이 debugging한 직후부터 계속 표시되어야하는지, 아니면 timer period를 입력했을때부터 표시되고 작동해야하는지 햇갈려서 여쭤봅니다. 어떤 방식으로 하는게 맞을까요?

# data[].attributes.body
이렇게 뜹니다

# data[].attributes.body
GUI에서 직접 입력한 명령 이외에도 클릭으로 보내지는 명령어의 무결성 검사를 필수적으로 진행해야 하는지 문의드립니다.

# data[].attributes.headline
DC모터에서 질문드립니다

# data[].attributes.subject
DC모터에서 질문드립니다

# data[].attributes.body
FSP Config로 gpt를 설정했더니 direction을 바꿀 때 Dutyrate가 알아서 재설정됩니다. 그림의 부분 때문인 것 같은데 혹시 해당 설정을 비활성화 하거나 retain으로 설정하는 방법같은게 있을까요?

# data[].attributes.body
build, debug 정상적으로 동작하지만, 막상 run해보면 코드가 먹통으로 되고 이전 assignment가 작동합니다.
다른 코드 집어 넣었을 때 정상적으로 작동되는 것을 보아, 제 코드의 문제 같은데, 어떤 부분이 문제인지 알 수 있을까요?

# data[].attributes.body
보드 문제인지 디버깅이 새롭게 되지 않는 오류가 발생합니다. 계속 이전에 디버깅 했던 코드만 유지되어서 동작합니다. 코드 문제인지해서 이전에 진행했던 다른 프로젝트로 돌려보았지만 똑같은 현상이 발생합니다.

Break at address "0x2858" with no debug information available, or outside of program code.. 이런 문구가 뜨면서 디버깅이 되지 않습니다.

# data[].attributes.body
security쪽에서 헷갈리는 게 있어 질문드립니다. 위에 댓글들과 조교님께서 올려주신 엑셀파일을 통해 제가 이해한 바로는 우선 첫번째로 write protection에서는 RA6M3->PC 즉, read에 관한 기능인 tact switch(스위치4개)는 모두 정상 동작이 되어야 하는 것이고, 두번째로 write protection, privilege(admin)모드에서 adc에서는 처음에 해야하는 period설정이 막히기 때문에 가능한 기능은 mode 1,3 바뀌는 설정 변경(스위치3번) 이외에는 모두(예를 들어 adc 측정값) 작동이 안돼야 하는 것으로 이해했는데 제가 이해한 부분이 맞나요?

# data[].attributes.headline
(윗 질문에 이어서)추가로 이러한 오류도 뜹니다.

# data[].attributes.subject
(윗 질문에 이어서)추가로 이러한 오류도 뜹니다.

# data[].attributes.headline
디버깅을 하면 다음과 같은 오류가 계속 뜹니다.

# data[].attributes.subject
디버깅을 하면 다음과 같은 오류가 계속 뜹니다.

# data[].attributes.body
SCI-UART 공지에 나온 방법으로 따라해도 고쳐지지 않습니다. 이전의 답변에서 메모리 접근을 잘못한 것이 있을 수도 있다고 하여 찾아보았지만 index를 넘어가거나 포인터를 잘못 쓴 경우를 찾지 못했습니다. 혹시 레지스터 설정에서도 메모리 오류가 생길 수 있나요?

# data[].attributes.body
Variable Registor의 Percentage 값이라는 것은 시계방향으로 돌렸을때 0%라는 것인가요 100%라는 것인가요?

# data[].attributes.headline
SW3번 모드 관련 질문

# data[].attributes.subject
SW3번 모드 관련 질문

# data[].attributes.body
1,3 모드가 각각 가변저항, 조도센서인데 기본을 1로 하는 상태(가변저항), 0(FND 출력X, ADC 측정X)어떤게 더 옳은 동작인가요?

# data[].attributes.body
안녕하세요 조교님. 이번 프로젝트에서 timer 기능을 사용하던 중에 궁금증이 생겨서 질문드립니다.
만약 동시에 여러개의 시간을 측정해야한다고 할때, 굉장히 짧은 시간의 timer를 설정해놓고 count 값을 올려 측정하게 할 경우 interrupt가 너무 빠르게 실행되서 문제가 생길수도 있을까요? 아니면 그 방식보단 한번에 3개 이상의 timer를 쓰는 것이 더 자주 사용하는 방법인지 궁금합니다.

# data[].attributes.body
debug 중 이런 에러가 뜨면서 진행이 되지 않는데 해결 방법을 알 수 있을까요?

# data[].attributes.body
Privilege에서의 동작 제한은 해당 동작이 작동하는 것이 완전 제한된다는 건가요 아니면 Write Protection처럼 작성하는 것이 제한된다는 건가요?

# data[].attributes.body
이번 final에서 사용하면 안되는 fuction이 있는지 궁금합니다.
수업시간에 배우지 않았던 R_AGT_PeriodSet(p_ctrl, period_counts)
이런 함수도 써도 되나요?

# data[].attributes.headline
DC모터 동작관련 문의

# data[].attributes.subject
DC모터 동작관련 문의

# data[].attributes.body
모터의 dutyrate가 방향이 전환되면 100-기존 비율 처럼 떨어지는데, 그대로 두는것과 프로그램상에서 나오는 것처럼 유지하는 것중에 어떤게 나은 동작인지 알 수 있을까요?

# data[].attributes.body
GUI에서 학번까지 입력한 후 아무것도 하지 않은 상태에서 Serial Transmit Data Send를 클릭하면 위와 같이 뜨는데, 이렇게 뜨는게 정상인가요? 아니라면 혹시 해결 방법이 따로 있을까요?

# data[].attributes.headline
동작에는 이상이 없지만

# data[].attributes.subject
동작에는 이상이 없지만

# data[].attributes.body
Invalid project path: Duplicate path entries found (/Final [Include path] base-path:Final isSystemInclude:true includePath:src), path: [/Final].

위와 같은 경고가 나오는데 어떤건지 알 수 있을까요?

# data[].attributes.body
엑셀 파일에 보면 monitoring 부분에서 Message type에 ASCII일때는 0X32일때 동작하도록 되어있는데, group number 이나 command에는 ascii 일때의 값이 없는데 monitoring은 binary일때만 동작하면 되는 것으로 이해해도 될까요?

# data[].attributes.body
텀 프로젝트에서는 저번 과제와 달리
DAC 출력 중에는 다른 동작이 안되고 소리만 나오게 해야 하나요?
아니면 다른 동작이 다 되지만 소리 출력도 끊기지 않아야 할까요?

# data[].attributes.body
안녕하십니까 조교님
Final Project 수행 도중 문제가 있어서 질문 남깁니다.
제가 이해한 바로는 GUI의 버튼들을 누르면 GUI에서 자동으로 UART 통신을 이용해 6-byte(Binary 기준) 크기의 Protocol을 보냅니다. 즉,
user_uart_callback도 6번 일어나야 하고
if(p_args->event == UART_EVENT_RX_CHAR) 안의 내용도 6번 일어나야 합니다. 그러나 Breakpoint도 설정해보고 expression으로 data의 값을 확인해본 결과 Binary 입력 스위치를 눌렀을때, 또는 ASCII 형태로 입력을 했을 때 모두
STX, (Device Address+Message Format)x2
형태의 3-byte 크기 protocol이 발생합니다..
혹시나해서
1) 제가 작성한 Final Project source code에 Tera-Term으로 입력을 주었지만 이상이 없었고
2) Assignment3 source code에 GUI를 이용해 입력을 주었을 때는 위와 똑같은 3-byte 크기의 protocol이 확인되었습니다.
GUI에 이상이 있는게 아닌지 잘 모르겠습니다..

# data[].attributes.body
안녕하세요 조교님.

엑셀 시트의 control 기능 중 맨 하위 Timer Period (ADC Monitoring period) 조절 부분을 보면 datalength 는 1100 으로 12 bit 라고 명시되어 있는데 설명 란에는 그림으로 된 표시는 12bit로 되어 있지만 글로 된 설명에는 하위 9bit 를 사용하라고 되어 있으며,

디버깅을 통해 만져 보니 실제로 datalength 가 9bit를 통해 옴을 확인했습니다

그런데 9bit 로는 1000 ~ 3000 ms 를 표시할 수 없기 때문에 datalength 가 12 가 되어야 하는 것이 아닌가요?

# data[].attributes.body
안녕하세요 조교님.

write protection 이 작동되고 있는 동안에는 어떠한 명령에도 동작하지 않는다고 쓰여 있는데, 그렇다면 모니터링 기능도 꺼져 있어야 하는것이 맞나요?

이름은 write protection 인데 모니터링은 read 동작이라는 생각이 들어 여쭤봅니다.

# data[].attributes.body
expression창에서 bin을 눌러본결과, data length부분 ASCII코드가 0x31로 표시되는데, 교안 상에선 0x34라고 적혀있다보니 혹시 제가 잘못 돌린건지 교안에 잘못적혀있는건지가 궁금해서 질문 남깁니다. 감사합니다.

# data[].attributes.headline
작동 디테일 관련 문의

# data[].attributes.subject
작동 디테일 관련 문의

# data[].attributes.body
안녕하세요 조교님. Final project 의 작동과 관련해 궁금한 점이 생겨 질문 드립니다.

1. 교안을 보면 write protection 이 enable 되어 있을 때 LED3 이 꺼져 있어야 한다고 써 있는데, 조교님께서 강의 영상에서 언급하신 바에 따르면 초기 LED3 는 켜져 있는 상태이다. 라고 말씀하셨습니다. Write protection 이 enable 되어 있는 상태가 보드가 명령을 받아들여 동작을 수행할 수 있는 상태인 것이 맞습니까?

2. servo motor 의 경우 0도 ~ 180 도의 범위를 가지고 있는데, control 시에 만약 현재 각이 0도 또는 180 도 인데 여기에서 -10 또는 +10 을 하게 명령이 오면 어떻게 처리해야 하나요?

# data[].attributes.body
breakpoint 설정 중에 이런표시가 뜨면서 breakpoint가 걸리지 않습니다. 혹시 설정 문제일까요? 이런적이 처음이라 해결방법을 모르겠습니다.

# data[].attributes.body
교수님은 CR이라고 설명하시고 조교님은 CA라고 설명하시는데 뭐가 맞나요??

# data[].attributes.headline
보드에 다운로드가 안되는 현상

# data[].attributes.subject
보드에 다운로드가 안되는 현상

# data[].attributes.body
안녕하세요 조교님.

코드를 작성하고 지난 실습때처럼 디버깅을 시작하려고 하니 위 사진과 같이 다운로드가 안 됐다고 뜹니다.

왼쪽 창에서 쓰레드가 실행중이라고 뜨긴 합니다만 원래 디버깅 할때는 systemInit 함수에서 F8을 한번 눌러줘야 다음으로 진행하는데 이번에는 그런것도 되지 않고  확인을 위해 hal_entry 함수 첫번째 줄에다가 코드를 쳐 놓고 breakpoint 를 설정했는데 거기에 걸리지도 않는걸 보니 뭔가 보드에 프로그램이 올라가지 못하는것 같습니다.

혹시 해결 방법이 있을까요? 지금까지는 한번도 이런 일이 없었습니다..

# data[].attributes.body
안녕하세요 조교님.
아스키 포맷으로 정보를 보낼 경우 "protocol을 준수하지 않는 입력입니다"라는 구문이 뜨는 기준이 뭔가요?
추가로 아스키의 경우 이진수로 11byte 즉 88bit를 입력하는것이 맞나요?

# data[].attributes.body
Assignment3 때까지는 문제가 없었는데
window업데이트 문제인지 어느순간부터 USB Port인식이 되지 않습니다.
Window 업데이트 제거 및 아이캠퍼스 9주차 자료에 올려주신 USB driver file등을 이용해봐도 문제가 해결되지 않습니다.
Renesas USB Development Tools는 인식 하는것 같습니다...

# data[].attributes.body
priority가 높은 것이 먼저 실행되는 방식인데 이 때 하나의 device가 실행 중일 때 계속해서 다른 device가 추가적으로 들어온다면 worst case를 고려하면 가장 낮은 priority를 갖는 device는 계속 실행이 안되는 상황이 발생할 수도 있는건가요?

# data[].attributes.body
DLC의 max가 8byte이고 그 때의 값이 1xxx으로 알고 있는데 그러면 xxx는 아무 값이나 적어도 되나요? ex) 1000, 1111

# data[].attributes.headline
이상작동 관련 질문 드립니다

# data[].attributes.subject
이상작동 관련 질문 드립니다

# data[].attributes.body
디버깅시 이러한 헤더파일로 넘어가고 작동이 안되는데 어떤 문제일까요..?

# data[].attributes.body
모든 Interrupt를 같은 priority로 설정하더라도

fsp로 설정한 uart함수는 Interrupt status flag 비트가 실행하자마자 0이 되어서 for문을 동작하던 중이어도 같은 순위인 agt 인터럽트가 동작될 수 있는거 같습니다.

expression을 켜고 보더라도 소리가 나오는 중에서도 100ms마다 발생하게 만들어둔 agt 인터럽트가 발생되어 숫자가 증가되는것이 보이는데, 공지에 올라와있는 부분을 고려하지 않았으면 무조건 감점인가요?

# data[].attributes.body
3-1, 3-2를 마무리하고 3-3과제를 수행하던 중 계속하여 처음보는 에러사항이 발생하여서 질문드립니다.
첫번째는 real-time으로 변수값이 변하지 않는점입니다. 3-1에 해당하는 과제가 정상적으로 Tera-Term에서 수행하는데, 이에 맞는 real-time variable이 변하지 않습니다.
두번째는 코드를 변경해도 debug한 결과가 계속 동일하게 나옵니다. 첫 번째 문제에서 원인을 파악하기 위해서 interrupt의 순서를 변경하는 등 코드를 여러번 변경해보았지만, 실행하는 결과가 항상 동일합니다.
마지막으로 debug 완료 후 Resume을 누르면 자꾸 이상한 경로로 빠지게 됩니다. Heap size문제인것으로 판단하고 조절해보았지만, 동일한 문제가 계속 발생하고 있습니다.

# data[].attributes.headline
[공지] 'Finished download' has failed with error report, ~ "An erasure error of the internal flash ROM occurred." 관련 대처 방법 안내

# data[].attributes.subject
[공지] 'Finished download' has failed with error report, ~ "An erasure error of the internal flash ROM occurred." 관련 대처 방법 안내

# data[].attributes.body
지금까지 해당 문제가 발생한 학생분들이 꽤 있어, 간단한 대처 방안을 공유해드립니다.

우선, Renesas 본사 측의 답변에 의하면, 간혹 USB-Serial Module을 연결한 상태에서 Debugging을 수행할 경우, Flash Memory에 Write하는 과정에서 문제가 발생할 수 있다고 합니다.

이 외에도, 잘못된 Address 접근, Memory 내 다른 Region에 대한 침범 등, 다양한 이유로 Flash Memory Error가 발생할 수 있습니다.

이에 대한 확실한 대처 방안은 아직 정해지지 않은 상태로, 임시 방편을 여러분들께 알려드리고자 합니다.

다음과 같은 순서로 진행해보시길 바랍니다.

1) 첨부 사진과 같이 Project를 설정하고, USB-Serial Module을 분리한 후 Debugging을 먼저 수행 (이때 외부 전원을 사용)

2) Debugging이 진행 중인 상태에서 다시 USB Module을 연결

--> Erasure Error가 발생한 상황에서는, 모든 Hardware를 분리한 후, Emulator만 연결한 상태에서 먼저 기본 Code(GPIO 등)를 돌려보시길 바랍니다. (위의 설정대로)

이 방법으로도 Flash Memory에 남아있는 더미 데이터가 정상적으로 지워지지 않는다면, 연구실 방문이 불가피할 수 있습니다.

# data[].attributes.headline
다음메시지가 뜨며 Code가 적용되지 않습니다. 디버깅에 오류는 없는데, 코드를 수정해서 적용해도 계속 이전 버전의 코드로 보드가 동작합니다 

# data[].attributes.subject
다음메시지가 뜨며 Code가 적용되지 않습니다. 디버깅에 오류는 없는데, 코드를 수정해서 적용해도 계속 이전 버전의 코드로 보드가 동작합니다 

# data[].attributes.body
GDB action 'Finished download', has failed with error report, Error 0x00010206: An erasure error of the internal flash ROM occurred. The flash ROM may have been degraded.

# data[].attributes.headline
UART만 연결하면 디버깅이 안됩니다

# data[].attributes.subject
UART만 연결하면 디버깅이 안됩니다

# data[].attributes.body
GDB action 'Finished download', has failed with error report, Error 0x00010206: An erasure error of the internal flash ROM occurred. The flash ROM may have been degraded.
라는 에러가 나와서 게시판에 있는 조교님의 답변대로 하드웨어들을 전부 분리시켜서 실행을 해보니, UART 연결시에만 저런 오류가 나오는걸 확인 할 수 있었습니다. 물리적인 충격이나 코드상 에러가 없었는데, 어느 시점에 갑자기 에러발생 후 복구되지를 않습니다. 혹시 다른 해결 방안에 대하여 알고 계신가요?

# data[].attributes.body
Interrupt 설정을 Falling Edge로 설정하면 스위치를 누를 때 작동이 되던데, Interrupt는 active-low 방식으로 작동되는 건가요?

# data[].attributes.headline
3-3 관련 질문입니다.

# data[].attributes.subject
3-3 관련 질문입니다.

# data[].attributes.body
안녕하세요 조교님. 3번 문제에서 DAC 출력을 제외하였을 때에는 정답을 맞추는 것과 관계없이 5초 counting에 맞춰서 단어가 출력하는 것을 확인할 수 있었습니다.
이를 확인하고 DAC 출력을 uart callback쪽에 정답을 맞출 경우로 넣어줬는데 정답을 맞출 경우 단어 출력 시간이 6초 정도로 1초가 delay되는 것을 확인할 수 있었습니다. (정답을 틀릴 경우는 5초 counting에 맞춰서 출력됩니다.)
AGT를 통해 5초를 counting 했는데 AGT와 DAC출력에서 같이 사용되는게 있어서 그런 걸까요?

# data[].attributes.body
3-2에서 cds value가 1000이 넘으면 긴급제동이 됩니다. 그런데 이를 측정하는 기준이 저의 경우, variable resistor와 마찬가지로 500ms 기준으로 측정했습니다. 혹시 이러한 cycle없이 즉각적으로 측정하도록 해야하나요?

# data[].attributes.body
3-2번에서 긴급 정지에 의해서 초기화를 하고 다시 2번 스위치를 누를 경우 처음 한번 스위치 입력이 안되는 경우가 가끔 발생합니다. 다시 누르면 정상적으로 작동하는데 제 코드 상의 문제일까요 아님 보드에서 가끔 이런 경우가 발생할 수 있나요? 긴급 정지 진행 후 ch2_adc_result값을 0으로 초기화해도 같은 문제가 발생합니다.

# data[].attributes.body
3-3 문제// 문자열 일치할 경우 벨소리 시작되고, 벨소리가 끝나는 시점으로부터 5초 뒤에 새로운 문자열이 출력됩니다. 이 부분 괜찮나요?

# data[].attributes.body
맨 처음에 입력한 답이 틀렸을 경우 FND가 둘 다 빈칸인 채로 둬야 하나요 아니면 0을 표기해야 하나요?
추가로 단어가 표시되고 5초간에 입력은 한번만 한다고 가정해도 되나요? 지금 코드에서 5초동안 정답을 여러 번 입력하면 입력한 만큼 점수가 오르는데, 이를 고쳐야 하는지 궁금합니다.

# data[].attributes.body
DAC 관련 코드를 추가하는 과정에서 해당 오류가 발생하는데 어떤 오류일까요?

# data[].attributes.body
Tera-term 사용방법에 관한 PPT를 보던 중 의문이 생겨 문의드립니다. 혹시 TERATERM.INI 파일을 import하면 PPT상에 다음페이지에 나온 것처럼 New line이나 Local echo setting이 setting 되는게 정상적인 건가요?? 저는 교안과 같이 setting되지 않아 따로 setting 하는데 이렇게 해도 관련이 없는건가요?? 또한 TERATERM.INI가 어떤 것을 세팅해주는지 궁금합니다!

# data[].attributes.body
e2_studio에서 다른 프로젝트를 실행해서 디버그를 진행해도 보드가 전 프로그램을 동작하는데 보드를 초기화 하는 방법이 있을까요?

# data[].attributes.body
assignment3 에서 혹시 코드의 간결성이나 파일 정리가 평가요소에 들어가나요?

# data[].attributes.body
예시 영상을 보니깐 3-3 스위치를 누른 후 1초정도의 delay가 있고 나서 첫 단어가 나옵니다.
영상처럼 동작하기 위해서 agt를 시작과 동시에 start하여 계속 5초마다 interrupt를 발생시키고, interrupt handler에서 3-3기능에 대한 flag로 확인하여 3-3기능이 on되었을 때, 단어를 보내주는 방식이라 추측하였습니다.

저는 3-3 기능 on을 위해 스위치를 누르면 바로 단어를 보내주고, 그 이후에 agt open&start시키고, 다시 누르면 stop&close하는 방식을 이용하여 5초간 단어를 보내주는데, 이 방식으로 진행해도 상관없는지 문의드립니다.

# data[].attributes.body
이번 과제에서는 스켈리톤 코드가 없어 사용하는 inturrupt와 agt gpt의 callback fuction이나 stack 설정이 모두 다를거 같은데 과거처럼 hal_entry.c만 복사해서 평가하는게 아니고 전체 파일을 이용해서 평가하게 되나요??

# data[].attributes.body
3-1,3-2,3-3을 동시에 수행하는 경우도 고려해야 하나요?
예를 들어, 123을 동시에 작동하면 모터가 돌아가면서 단어를 맞추고 맞추면 암호화된 단어가 나오는 식입니다.

# data[].attributes.body
실제 제공해주신 음원 파일, 예시 동작 영상, 그리고 제가 직접 실행시켰을 때 음이 약간씩 다른데 이 정도의 오차는 괜찮은지 궁금합니다.

# data[].attributes.body
방금 전까지 잘 디버깅 되던 키트가 FSP Configuration을 잠깐 고치고 다시 디버그 하려고 하니 아래와 같은 오류가 발생하면서 키트에 디버깅한 파일이 다운로드가 되지 않습니다. 혹시 키트에 문제가 생긴걸까요?

GDB action 'Finished download', has failed with error report, Error 0x00010206: An erasure error of the internal flash ROM occurred. The flash ROM may have been degraded.

# data[].attributes.headline
1번 과제 문자열 제한 질문

# data[].attributes.subject
1번 과제 문자열 제한 질문

# data[].attributes.body
3-1과제에서 20byte를 넘는 문자열을 입력하면
20byte만 잘라서 반환하는 것인지
20byte를 초과하지 못하게 입력을 받게하는 것인지 궁금합니다.

# data[].attributes.body
Teraterm이 정상적으로 작동하다가 갑자기 입력이 안받아지고 출력이 화면에 표시가 안됩니다. clear buffer를 해도 안돼서 코드 오류일 수도 있어서 오픈소스코드로 해봤는데도 이전에는 잘 됐는데 오류가 발생합니다. 혹시 해결방법이 있을까요?? (사진은 오픈소스코드 실행결과입니다. o만 나오고 그 뒤로 아무런 작동을 하지 않습니다.)

# data[].attributes.body
3-3동작영상을 보면 맞춘개수가 깜빡인 후에 숫자가 증가하는데 그냥 증가하면 감점이 있나요?

# data[].attributes.body
hal_entry.c에서만 구현해야 하나요? library.h나 .c를 사용해도 되나요?

# data[].attributes.headline
AD-USBSERIAL Module Driver Install File 사용 방법 질문

# data[].attributes.subject
AD-USBSERIAL Module Driver Install File 사용 방법 질문

# data[].attributes.body
어떤 파일을 실행시키는건지 잘 모르겠습니다.

# data[].attributes.body
DAC 출력 중 delay때문에 FND는 멈추는데 이때 AGT timer은 계속 동작하여야 하나요? 아니면 정답 소리 시간은 제외하고 5초를 카운트해도 되나요?

# data[].attributes.body
Instruction pdf 3-3 예시에서 FND출력을 1007처럼 10의 자리가 0일 때 0을 출력해도 되나요?

# data[].attributes.body
과제를 진행중에 GDB action 'Finished download', has failed with error report, Error 0x00010206: An erasure error of the internal flash ROM occurred. The flash ROM may have been degraded. 이러한 오류를 만났습니다. Calloc 함수를 쓸때마다 Free도 제대로 해주었는데 어떤 오류일까요?

# data[].attributes.body
어둡게 해서 정지시킨 후에, 다시 2번 스위치를 누르면 모터가 동작하도록 해야하나요?

# data[].attributes.body
3번 스위치를 누르면 LED가 바로 켜지지만 단어는 바로 안 나오고 5초 안에 나오게 하면 감점되는지 궁금합니다.

# data[].attributes.body
문자열 관련해서 해당 example video를 통해 봤을때, assignment3에 적힌 예시 2가지 문자열만 암호화되는 문자가 재전송되고, 이외의 모든 문자열은 반응을 하지 않는 것으로 이해했는데 맞을까요? 말이 살짝 헷갈려서 여쭤봅니다.

# data[].attributes.headline
3-2 모드 재개 시 모터 속도

# data[].attributes.subject
3-2 모드 재개 시 모터 속도

# data[].attributes.body
Variable Resistor Wiper를 그대로 둔 상태로 긴급 정지를 하고 다시 스위치를 눌러 3-2를 실행시켰을 때 Variable Resistor Wiper 각도 만큼 모터 속도가 바로 나와도 되는 건지 궁금합니다.